]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph.spec: split ceph-devel to appropriate *-devel packages 3744/head
authorBoris Ranto <branto@redhat.com>
Wed, 7 Jan 2015 09:00:21 +0000 (10:00 +0100)
committerKen Dreyer <kdreyer@redhat.com>
Mon, 16 Feb 2015 23:21:42 +0000 (16:21 -0700)
ceph-devel contains various header files/bindings for several
libraries, this patch creates *-devel packages for all the libraries
separately and provides the compatibility layer for the split.

http://tracker.ceph.com/issues/10884 Refs: #10884

Signed-off-by: Boris Ranto <branto@redhat.com>
Amended by Ken Dreyer <kdreyer@redhat.com> to add version numbers to the
Obsoletes, add Obsoletes to the libradosstriper1-devel and
libcephfs_jni1-devel subpackages, adjust the librados documentation, and
add the Redmine issue number to this commit log.

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
ceph.spec.in
doc/rados/api/librados-intro.rst

index d05c8e097b4314506aa0fb8d40894b5b23b2e2a0..44cb8d58010755c1c9336132b7f39e230744b08a 100644 (file)
@@ -139,20 +139,6 @@ BuildRequires:     fuse-devel
 %description -n rbd-fuse
 FUSE based client to map Ceph rbd images to files
 
-%package devel
-Summary:       Ceph headers
-Group:         Development/Libraries
-License:       LGPL-2.0
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      librados2 = %{epoch}:%{version}-%{release}
-Requires:      libradosstriper1 = %{epoch}:%{version}-%{release}
-Requires:      librbd1 = %{epoch}:%{version}-%{release}
-Requires:      libcephfs1 = %{epoch}:%{version}-%{release}
-Requires:      libcephfs_jni1 = %{epoch}:%{version}-%{release}
-%description devel
-This package contains libraries and headers needed to develop programs
-that use Ceph.
-
 %package radosgw
 Summary:       Rados REST gateway
 Group:         Development/Libraries
@@ -197,6 +183,16 @@ developed as part of the Ceph distributed storage system. This is a
 shared library allowing applications to access the distributed object
 store using a simple file-like interface.
 
+%package -n librados2-devel
+Summary:       RADOS headers
+Group:         Development/Libraries
+License:       LGPL-2.0
+Requires:      librados2 = %{epoch}:%{version}-%{release}
+Obsoletes:     ceph-devel < %{epoch}:%{version}-%{release}
+%description -n librados2-devel
+This package contains libraries and headers needed to develop programs
+that use RADOS object store.
+
 %package -n libradosstriper1
 Summary:       RADOS striping interface
 Group:         System Environment/Libraries
@@ -207,6 +203,17 @@ Striping interface built on top of the rados library, allowing
 to stripe bigger objects onto several standard rados objects using
 an interface very similar to the rados one.
 
+%package -n libradosstriper1-devel
+Summary:       RADOS striping interface headers
+Group:         Development/Libraries
+License:       LGPL-2.0
+Requires:      libradosstriper1 = %{epoch}:%{version}-%{release}
+Requires:      librados2-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     ceph-devel < %{epoch}:%{version}-%{release}
+%description -n libradosstriper1-devel
+This package contains libraries and headers needed to develop programs
+that use RADOS striping interface.
+
 %package -n librbd1
 Summary:       RADOS block device client library
 Group:         System Environment/Libraries
@@ -221,6 +228,17 @@ RADOS, a reliable, autonomic distributed object storage cluster
 developed as part of the Ceph distributed storage system. This is a
 shared library allowing applications to manage these block devices.
 
+%package -n librbd1-devel
+Summary:       RADOS block device headers
+Group:         Development/Libraries
+License:       LGPL-2.0
+Requires:      librbd1 = %{epoch}:%{version}-%{release}
+Requires:      librados2-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     ceph-devel < %{epoch}:%{version}-%{release}
+%description -n librbd1-devel
+This package contains libraries and headers needed to develop programs
+that use RADOS block device.
+
 %package -n libcephfs1
 Summary:       Ceph distributed file system client library
 Group:         System Environment/Libraries
@@ -235,6 +253,17 @@ performance, reliability, and scalability. This is a shared library
 allowing applications to access a Ceph distributed file system via a
 POSIX-like interface.
 
+%package -n libcephfs1-devel
+Summary:       Ceph distributed file system headers
+Group:         Development/Libraries
+License:       LGPL-2.0
+Requires:      libcephfs1 = %{epoch}:%{version}-%{release}
+Requires:      librados2-devel = %{epoch}:%{version}-%{release}
+Obsoletes:     ceph-devel < %{epoch}:%{version}-%{release}
+%description -n libcephfs1-devel
+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
 Group:         System Environment/Libraries
@@ -281,6 +310,17 @@ BuildRequires:     java-devel
 This package contains the Java Native Interface library for CephFS Java
 bindings.
 
+%package -n libcephfs_jni1-devel
+Summary:       Development files for CephFS Java Native Interface library.
+Group:         System Environment/Libraries
+License:       LGPL-2.0
+Requires:      java
+Requires:      libcephfs_jni1 = %{epoch}:%{version}-%{release}
+Obsoletes:     ceph-devel < %{epoch}:%{version}-%{release}
+%description -n libcephfs_jni1-devel
+This package contains the development files for CephFS Java Native Interface
+library.
+
 %package -n cephfs-java
 Summary:       Java libraries for the Ceph File System.
 Group:         System Environment/Libraries
@@ -315,6 +355,24 @@ former ceph-libs package, which is now split up into these three subpackages.
 Packages still depending on ceph-libs should be fixed to depend on librados2,
 librbd1 or libcephfs1 instead.
 
+%package devel-compat
+Summary:       Compatibility package for Ceph headers
+Group:         Development/Libraries
+License:       LGPL-2.0
+Obsoletes:     ceph-devel
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+Requires:      librados2-devel = %{epoch}:%{version}-%{release}
+Requires:      libradosstriper1-devel = %{epoch}:%{version}-%{release}
+Requires:      librbd1-devel = %{epoch}:%{version}-%{release}
+Requires:      libcephfs1-devel = %{epoch}:%{version}-%{release}
+Requires:      libcephfs_jni1-devel = %{epoch}:%{version}-%{release}
+Provides:      ceph-devel
+%description devel-compat
+This is a compatibility package to accommodate ceph-devel split into
+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.
+
 %if 0%{?opensuse} || 0%{?suse_version}
 %debug_package
 %endif
@@ -592,33 +650,6 @@ fi
 %{_bindir}/rbd-fuse
 %{_mandir}/man8/rbd-fuse.8*
 
-#################################################################################
-%files devel
-%defattr(-,root,root,-)
-%dir %{_includedir}/cephfs
-%{_includedir}/cephfs/libcephfs.h
-%dir %{_includedir}/rados
-%{_includedir}/rados/librados.h
-%{_includedir}/rados/librados.hpp
-%{_includedir}/rados/buffer.h
-%{_includedir}/rados/page.h
-%{_includedir}/rados/crc32c.h
-%{_includedir}/rados/rados_types.h
-%{_includedir}/rados/rados_types.hpp
-%{_includedir}/rados/memory.h
-%dir %{_includedir}/radosstriper
-%{_includedir}/radosstriper/libradosstriper.h
-%{_includedir}/radosstriper/libradosstriper.hpp
-%dir %{_includedir}/rbd
-%{_includedir}/rbd/librbd.h
-%{_includedir}/rbd/librbd.hpp
-%{_includedir}/rbd/features.h
-%{_libdir}/libcephfs.so
-%{_libdir}/librbd.so
-%{_libdir}/librados.so
-%{_libdir}/libradosstriper.so
-%{_libdir}/libcephfs_jni.so
-
 #################################################################################
 %files radosgw
 %defattr(-,root,root,-)
@@ -676,6 +707,20 @@ fi
 %postun -n librados2
 /sbin/ldconfig
 
+#################################################################################
+%files -n librados2-devel
+%defattr(-,root,root,-)
+%dir %{_includedir}/rados
+%{_includedir}/rados/librados.h
+%{_includedir}/rados/librados.hpp
+%{_includedir}/rados/buffer.h
+%{_includedir}/rados/page.h
+%{_includedir}/rados/crc32c.h
+%{_includedir}/rados/rados_types.h
+%{_includedir}/rados/rados_types.hpp
+%{_includedir}/rados/memory.h
+%{_libdir}/librados.so
+
 #################################################################################
 %files -n libradosstriper1
 %defattr(-,root,root,-)
@@ -687,6 +732,14 @@ fi
 %postun -n libradosstriper1
 /sbin/ldconfig
 
+#################################################################################
+%files -n libradosstriper1-devel
+%defattr(-,root,root,-)
+%dir %{_includedir}/radosstriper
+%{_includedir}/radosstriper/libradosstriper.h
+%{_includedir}/radosstriper/libradosstriper.hpp
+%{_libdir}/libradosstriper.so
+
 #################################################################################
 %files -n librbd1
 %defattr(-,root,root,-)
@@ -705,6 +758,15 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
 %postun -n librbd1
 /sbin/ldconfig
 
+#################################################################################
+%files -n librbd1-devel
+%defattr(-,root,root,-)
+%dir %{_includedir}/rbd
+%{_includedir}/rbd/librbd.h
+%{_includedir}/rbd/librbd.hpp
+%{_includedir}/rbd/features.h
+%{_libdir}/librbd.so
+
 #################################################################################
 %files -n libcephfs1
 %defattr(-,root,root,-)
@@ -716,6 +778,13 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
 %postun -n libcephfs1
 /sbin/ldconfig
 
+#################################################################################
+%files -n libcephfs1-devel
+%defattr(-,root,root,-)
+%dir %{_includedir}/cephfs
+%{_includedir}/cephfs/libcephfs.h
+%{_libdir}/libcephfs.so
+
 #################################################################################
 %files -n python-ceph
 %defattr(-,root,root,-)
@@ -765,17 +834,30 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
 %{_bindir}/rbd-replay-prep
 %endif
 
+#################################################################################
 %files -n libcephfs_jni1
 %defattr(-,root,root,-)
 %{_libdir}/libcephfs_jni.so.*
 
+#################################################################################
+%files -n libcephfs_jni1-devel
+%defattr(-,root,root,-)
+%{_libdir}/libcephfs_jni.so
+
+#################################################################################
 %files -n cephfs-java
 %defattr(-,root,root,-)
 %{_javadir}/libcephfs.jar
 %{_javadir}/libcephfs-test.jar
 
+#################################################################################
 %files libs-compat
 # We need an empty %%files list for ceph-libs-compat, to tell rpmbuild to actually
 # build this meta package.
 
+#################################################################################
+%files devel-compat
+# We need an empty %%files list for ceph-devel-compat, to tell rpmbuild to
+# actually build this meta package.
+
 %changelog
index 7459e0500bcb4ace836850b5b1548f201abd797c..c0cc7713e960cbbc8b197eaa6d358ab421602d0d 100644 (file)
@@ -50,7 +50,7 @@ distributions, execute the following::
 To install ``librados`` development support files for C/C++ on RHEL/CentOS
 distributions, execute the following::
 
-       sudo yum install ceph-devel
+       sudo yum install librados2-devel
 
 Once you install ``librados`` for developers, you can find the required 
 headers for C/C++ under ``/usr/include/rados``. ::
@@ -63,7 +63,7 @@ Getting librados for Python
 
 The ``rados.py`` modules provides ``librados`` support to Python
 applications. The ``librados-dev`` package for Debian/Ubuntu
-and the ``ceph-devel`` package for RHEL/CentOS will install the
+and the ``librados2-devel`` package for RHEL/CentOS will install the
 ``python-ceph`` package for you. You may install ``python-ceph``
 directly too.