Skip to content

Commit

Permalink
Merge pull request ceph#11647 from ceph/wip-jlayton-cephfs
Browse files Browse the repository at this point in the history
libcephfs client API overhaul and update

Reviewed-by: John Spray <[email protected]>
  • Loading branch information
John Spray authored Nov 7, 2016
2 parents 351911a + c078dc0 commit f80c7a8
Show file tree
Hide file tree
Showing 19 changed files with 706 additions and 462 deletions.
26 changes: 13 additions & 13 deletions ceph.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ Group: System Environment/Base
Requires: ceph-common = %{epoch}:%{version}-%{release}
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: libcephfs2 = %{epoch}:%{version}-%{release}
Requires: librgw2 = %{epoch}:%{version}-%{release}
%if 0%{with selinux}
Requires: ceph-selinux = %{epoch}:%{version}-%{release}
Expand Down Expand Up @@ -247,7 +247,7 @@ Summary: Ceph Common
Group: System Environment/Base
Requires: librbd1 = %{epoch}:%{version}-%{release}
Requires: librados2 = %{epoch}:%{version}-%{release}
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: libcephfs2 = %{epoch}:%{version}-%{release}
Requires: python-rados = %{epoch}:%{version}-%{release}
Requires: python-rbd = %{epoch}:%{version}-%{release}
Requires: python-cephfs = %{epoch}:%{version}-%{release}
Expand Down Expand Up @@ -517,15 +517,15 @@ Requires: python%{python3_pkgversion}-rados = %{epoch}:%{version}-%{release}
This package contains Python 3 libraries for interacting with Cephs RADOS
block device.

%package -n libcephfs1
%package -n libcephfs2
Summary: Ceph distributed file system client library
Group: System Environment/Libraries
License: LGPL-2.0
%if 0%{?rhel} || 0%{?fedora}
Obsoletes: ceph-libs < %{epoch}:%{version}-%{release}
Obsoletes: ceph-libcephfs
%endif
%description -n libcephfs1
%description -n libcephfs2
Ceph is a distributed network file system designed to provide excellent
performance, reliability, and scalability. This is a shared library
allowing applications to access a Ceph distributed file system via a
Expand All @@ -535,11 +535,11 @@ POSIX-like interface.
Summary: Ceph distributed file system headers
Group: Development/Libraries
License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: libcephfs2 = %{epoch}:%{version}-%{release}
Requires: librados-devel = %{epoch}:%{version}-%{release}
Obsoletes: ceph-devel < %{epoch}:%{version}-%{release}
Provides: libcephfs1-devel = %{epoch}:%{version}-%{release}
Obsoletes: libcephfs1-devel < %{epoch}:%{version}-%{release}
Provides: libcephfs2-devel = %{epoch}:%{version}-%{release}
Obsoletes: libcephfs2-devel < %{epoch}:%{version}-%{release}
%description -n libcephfs-devel
This package contains libraries and headers needed to develop programs
that use Cephs distributed file system.
Expand All @@ -548,7 +548,7 @@ that use Cephs distributed file system.
Summary: Python 2 libraries for Ceph distributed file system
Group: System Environment/Libraries
License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: libcephfs2 = %{epoch}:%{version}-%{release}
Requires: python-rados = %{epoch}:%{version}-%{release}
Obsoletes: python-ceph < %{epoch}:%{version}-%{release}
%description -n python-cephfs
Expand All @@ -559,7 +559,7 @@ file system.
Summary: Python 3 libraries for Ceph distributed file system
Group: System Environment/Libraries
License: LGPL-2.0
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: libcephfs2 = %{epoch}:%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{epoch}:%{version}-%{release}
%description -n python%{python3_pkgversion}-cephfs
This package contains Python 3 libraries for interacting with Cephs distributed
Expand Down Expand Up @@ -593,7 +593,7 @@ Summary: Java Native Interface library for CephFS Java bindings
Group: System Environment/Libraries
License: LGPL-2.0
Requires: java
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
Requires: libcephfs2 = %{epoch}:%{version}-%{release}
%description -n libcephfs_jni1
This package contains the Java Native Interface library for CephFS Java
bindings.
Expand Down Expand Up @@ -1428,13 +1428,13 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{python3_sitearch}/rbd.cpython*.so
%{python3_sitearch}/rbd-*.egg-info

%files -n libcephfs1
%files -n libcephfs2
%defattr(-,root,root,-)
%{_libdir}/libcephfs.so.*

%post -n libcephfs1 -p /sbin/ldconfig
%post -n libcephfs2 -p /sbin/ldconfig

%postun -n libcephfs1 -p /sbin/ldconfig
%postun -n libcephfs2 -p /sbin/ldconfig

%files -n libcephfs-devel
%defattr(-,root,root,-)
Expand Down
4 changes: 2 additions & 2 deletions debian/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
/*.debhelper
/ceph
/files
/libcephfs1-dbg
/libcephfs2-dbg
/libcephfs-dev
/libcephfs1
/libcephfs2
/librados2-dbg
/librados-dev
/librados2
Expand Down
24 changes: 12 additions & 12 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ Depends: ceph-base (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends}
Recommends: ceph-fuse (= ${binary:Version}),
libcephfs1 (= ${binary:Version})
libcephfs2 (= ${binary:Version})
Replaces: ceph (<< 0.93-417)
Breaks: ceph (<< 0.93-417)
Description: metadata server for the ceph distributed file system
Expand Down Expand Up @@ -516,7 +516,7 @@ Description: RADOS block device client library (development files)
This package contains development files needed for building applications that
link against librbd1.

Package: libcephfs1
Package: libcephfs2
Conflicts: libceph, libceph1, libcephfs
Replaces: libceph, libceph1, libcephfs
Architecture: linux-any
Expand All @@ -529,28 +529,28 @@ Description: Ceph distributed file system client library
shared library allowing applications to access a Ceph distributed
file system via a POSIX-like interface.

Package: libcephfs1-dbg
Package: libcephfs2-dbg
Architecture: linux-any
Section: debug
Priority: extra
Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}
Depends: libcephfs2 (= ${binary:Version}), ${misc:Depends}
Conflicts: libceph1-dbg
Replaces: libceph1-dbg
Description: debugging symbols for libcephfs1
Description: debugging symbols for libcephfs2
Ceph is a massively scalable, open-source, distributed
storage system that runs on commodity hardware and delivers object,
block and file system storage. This is a
shared library allowing applications to access a Ceph distributed
file system via a POSIX-like interface.
.
This package contains debugging symbols for libcephfs1.
This package contains debugging symbols for libcephfs2.

Package: libcephfs-dev
Architecture: linux-any
Section: libdevel
Depends: libcephfs1 (= ${binary:Version}), ${misc:Depends}
Conflicts: libceph-dev, libceph1-dev, libcephfs1-dev
Replaces: libceph-dev, libceph1-dev, libcephfs1-dev
Depends: libcephfs2 (= ${binary:Version}), ${misc:Depends}
Conflicts: libceph-dev, libceph1-dev, libcephfs2-dev
Replaces: libceph-dev, libceph1-dev, libcephfs2-dev
Description: Ceph distributed file system client library (development files)
Ceph is a massively scalable, open-source, distributed
storage system that runs on commodity hardware and delivers object,
Expand Down Expand Up @@ -726,7 +726,7 @@ Description: Python 3 libraries for the Ceph librbd library
Package: python-cephfs
Architecture: linux-any
Section: python
Depends: libcephfs1 (= ${binary:Version}),
Depends: libcephfs2 (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
${python:Depends}
Expand All @@ -743,7 +743,7 @@ Description: Python 2 libraries for the Ceph libcephfs library
Package: python3-cephfs
Architecture: linux-any
Section: python
Depends: libcephfs1 (= ${binary:Version}),
Depends: libcephfs2 (= ${binary:Version}),
${misc:Depends},
${shlibs:Depends},
${python3:Depends}
Expand Down Expand Up @@ -776,6 +776,6 @@ Description: Java libraries for the Ceph File System
Package: libcephfs-jni
Architecture: linux-any
Section: java
Depends: libcephfs1 (= ${binary:Version}), ${java:Depends},
Depends: libcephfs2 (= ${binary:Version}), ${java:Depends},
${misc:Depends}, ${shlibs:Depends}
Description: Java Native Interface library for CephFS Java bindings
File renamed without changes.
2 changes: 1 addition & 1 deletion debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ override_dh_strip:
dh_strip -plibrados2 --dbg-package=librados2-dbg
dh_strip -plibradosstriper1 --dbg-package=libradosstriper1-dbg
dh_strip -plibrbd1 --dbg-package=librbd1-dbg
dh_strip -plibcephfs1 --dbg-package=libcephfs1-dbg
dh_strip -plibcephfs2 --dbg-package=libcephfs2-dbg
dh_strip -plibrgw2 --dbg-package=librgw2-dbg
dh_strip -pradosgw --dbg-package=radosgw-dbg
dh_strip -pceph-test --dbg-package=ceph-test-dbg
Expand Down
4 changes: 2 additions & 2 deletions qa/qa_scripts/cephscrub.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ sudo apt-get -y purge librados-dev
sudo apt-get -y purge librbd1
sudo apt-get -y purge librbd1-dbg
sudo apt-get -y purge librbd-dev
sudo apt-get -y purge libcephfs1
sudo apt-get -y purge libcephfs1-dbg
sudo apt-get -y purge libcephfs2
sudo apt-get -y purge libcephfs2-dbg
sudo apt-get -y purge libcephfs-dev
sudo apt-get -y purge radosgw
sudo apt-get -y purge radosgw-dbg
Expand Down
4 changes: 2 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -806,8 +806,8 @@ if(WITH_LIBCEPHFS)
endforeach()
set_target_properties(cephfs PROPERTIES
OUTPUT_NAME cephfs
VERSION 1.0.0
SOVERSION 1
VERSION 2.0.0
SOVERSION 2
LINK_FLAGS ${CEPHFS_LINK_FLAGS})
endif(ENABLE_SHARED)
install(TARGETS cephfs DESTINATION ${CMAKE_INSTALL_LIBDIR})
Expand Down
Loading

0 comments on commit f80c7a8

Please sign in to comment.