Skip to content

Commit

Permalink
Merge PR ceph#58376 into main
Browse files Browse the repository at this point in the history
* refs/pull/58376/head:
	Temporarily change the libcephfs dependencies
	proxy: Add the design document
	proxy: Add the proxy to the deb builds
	proxy: Add the proxy to the rpm builds
	Initial version of the libcephfs proxy

Reviewed-by: Sachin Prabhu <[email protected]>
Reviewed-by: Venky Shankar <[email protected]>
  • Loading branch information
vshankar committed Dec 13, 2024
2 parents 0de5bfa + 517a345 commit 955bf28
Show file tree
Hide file tree
Showing 26 changed files with 6,243 additions and 0 deletions.
1 change: 1 addition & 0 deletions .githubmap
Original file line number Diff line number Diff line change
Expand Up @@ -188,3 +188,4 @@ robbat2 Robin H. Johnson <[email protected]>
leonid-s-usov Leonid Usov <[email protected]>
ffilz Frank S. Filz <[email protected]>
Jayaprakash-ibm Jaya Prakash Madaka <[email protected]>
spuiuk Sachin Prabhu <[email protected]>
34 changes: 34 additions & 0 deletions ceph.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -1186,18 +1186,41 @@ Obsoletes: libcephfs1 < %{_epoch_prefix}%{version}-%{release}
Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release}
Obsoletes: ceph-libcephfs < %{_epoch_prefix}%{version}-%{release}
%endif
Recommends: libcephfs-proxy2 = %{_epoch_prefix}%{version}-%{release}
Requires: libcephfs-daemon
%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
POSIX-like interface.

%package -n libcephfs-proxy2
Summary: Proxy for libcephfs
%if 0%{?suse_version}
Group: System/Libraries
%endif
Recommends: libcephfs-daemon = %{_epoch_prefix}%{version}-%{release}
%description -n libcephfs-proxy2
This package contains the libcephfs_proxy.so library that allow applications
to share cephfs mounts to reduce resource consumption.

%package -n libcephfs-daemon
Summary: Deamon for the libcephfs proxy
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
%description -n libcephfs-daemon
This package contains the libcephfsd daemon that allows applications to share
cephfs mounts to reduce resource consumption.

%package -n libcephfs-devel
Summary: Ceph distributed file system headers
%if 0%{?suse_version}
Group: Development/Libraries/C and C++
%endif
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
Requires: libcephfs-proxy2 = %{_epoch_prefix}%{version}-%{release}
Requires: librados-devel = %{_epoch_prefix}%{version}-%{release}
Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release}
Provides: libcephfs2-devel = %{_epoch_prefix}%{version}-%{release}
Expand Down Expand Up @@ -2524,6 +2547,16 @@ fi

%postun -n libcephfs2 -p /sbin/ldconfig

%files -n libcephfs-proxy2
%{_libdir}/libcephfs_proxy.so.*

%post -n libcephfs-proxy2 -p /sbin/ldconfig

%postun -n libcephfs-proxy2 -p /sbin/ldconfig

%files -n libcephfs-daemon
%{_sbindir}/libcephfsd

%files -n libcephfs-devel
%dir %{_includedir}/cephfs
%{_includedir}/cephfs/libcephfs.h
Expand All @@ -2532,6 +2565,7 @@ fi
%dir %{_includedir}/cephfs/metrics
%{_includedir}/cephfs/metrics/Types.h
%{_libdir}/libcephfs.so
%{_libdir}/libcephfs_proxy.so

%files -n python%{python3_pkgversion}-cephfs
%{python3_sitearch}/cephfs.cpython*.so
Expand Down
2 changes: 2 additions & 0 deletions debian/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,6 @@
/python-cephfs
/libcephfs-java
/libcephfs-jni
/libcephfs-proxy0-dbg
/libcephfs-proxy0
/tmp
52 changes: 52 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -891,6 +891,7 @@ Conflicts: libceph,
Replaces: libceph,
libceph1,
libcephfs,
Recommends: libcephfs-proxy2 (= ${binary:Version})
Architecture: linux-any
Section: libs
Depends: ${misc:Depends},
Expand Down Expand Up @@ -919,10 +920,61 @@ Description: debugging symbols for libcephfs2
.
This package contains debugging symbols for libcephfs2.

Package: libcephfs-proxy2
Architecture: linux-any
Section: libs
Depends: ${misc:Depends},
${shlibs:Depends},
Recommends: libcephfs-daemon (= ${binary:Version})
Description: Libcephfs proxy library
Ceph is a massively scalable, open-source, distributed
storage system that runs on commodity hardware and delivers object,
block and file system storage. This allows applications to share
libcephfs' CephFS mounts to reduce resource consumption.

Package: libcephfs-proxy2-dbg
Architecture: linux-any
Section: debug
Priority: extra
Depends: libcephfs-proxy2 (= ${binary:Version}),
${misc:Depends},
Description: debugging symbols for libcephfs-proxy2
Ceph is a massively scalable, open-source, distributed
storage system that runs on commodity hardware and delivers object,
block and file system storage. This allows applications to share
libcephfs' CephFS mounts to reduce resource consumption.
.
This package contains debugging symbols for libcephfs-proxy2.

Package: libcephfs-daemon
Architecture: linux-any
Depends: libcephfs2 (= ${binary:Version}),
${misc:Depends},
Description: Libcephfs proxy daemon
Ceph is a massively scalable, open-source, distributed
storage system that runs on commodity hardware and delivers object,
block and file system storage. This allows applications to share
libcephfs' CephFS mounts to reduce resource consumption.

Package: libcephfs-daemon-dbg
Architecture: linux-any
Section: debug
Priority: extra
Depends: libcephfs-daemon (= ${binary:Version}),
${misc:Depends},
Description: debugging symbols for libcephfs-daemon
Ceph is a massively scalable, open-source, distributed
storage system that runs on commodity hardware and delivers object,
block and file system storage. This allows applications to share
libcephfs' CephFS mounts to reduce resource consumption.
.
This package contains debugging symbols for libcephfs-proxy2.

Package: libcephfs-dev
Architecture: linux-any
Section: libdevel
Depends: libcephfs2 (= ${binary:Version}),
libcephfs-proxy2 (= ${binary:Version}),
${misc:Depends},
Conflicts: libceph-dev,
libceph1-dev,
Expand Down
1 change: 1 addition & 0 deletions debian/libcephfs-daemon.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/sbin/libcephfsd
1 change: 1 addition & 0 deletions debian/libcephfs-dev.install
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ usr/include/cephfs/libcephfs.h
usr/include/cephfs/types.h
usr/include/cephfs/metrics/Types.h
usr/lib/libcephfs.so
usr/lib/libcephfs_proxy.so
1 change: 1 addition & 0 deletions debian/libcephfs-proxy2.install
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
usr/lib/libcephfs_proxy.so.*
2 changes: 2 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,8 @@ override_dh_strip:
dh_strip -plibradosstriper1 --dbg-package=libradosstriper1-dbg
dh_strip -plibrbd1 --dbg-package=librbd1-dbg
dh_strip -plibcephfs2 --dbg-package=libcephfs2-dbg
dh_strip -plibcephfs-proxy2 --dbg-package=libcephfs-proxy2-dbg
dh_strip -plibcephfs-daemon --dbg-package=libcephfs-daemon-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
Loading

0 comments on commit 955bf28

Please sign in to comment.