diff --git a/.nfs-ganesha.metadata b/.nfs-ganesha.metadata index c114b7d..f8c1133 100644 --- a/.nfs-ganesha.metadata +++ b/.nfs-ganesha.metadata @@ -1 +1 @@ -8e49a11ee6b382a9e0d580da7c9b50fe3bf2f737 SOURCES/nfs-ganesha-3.5.tar.gz +edfddde0141656cc0da14823f0b0ca17cc7fe027 SOURCES/nfs-ganesha-4.0rc3.tar.gz diff --git a/README.md b/README.md index 7a59295..52b3977 100644 --- a/README.md +++ b/README.md @@ -25,26 +25,26 @@ E.g. build a src.rpm with: To build: 1. Upload the source tar file to the lookaside cache, e.g.: - $ lookaside_upload -f SOURCES/nfs-ganesha-3.5.tar.gz -n nfs-ganesha -b c8-sig-storage-nfs-ganesha-3 + $ lookaside_upload -f SOURCES/nfs-ganesha-4.0.tar.gz -n nfs-ganesha -b c9s-sig-storage-nfs-ganesha-4 2. update the .nfs-ganesha.metadata with the hash from step 1: $ cat .nfs-ganesha.metadata -e9c6a6a482b8e46117c2a6c37b50c569bd62d92e SOURCES/nfs-ganesha-3.5.tar.gz +e9c6a6a482b8e46117c2a6c37b50c569bd62d92e SOURCES/nfs-ganesha-4.0.tar.gz 3. commit and push SPECS/nfs-ganesha.spec and .nfs-ganesha.metadata, e.g.: $ git add SPECS/nfs-ganesha.spec .nfs-ganesha.metadata $ git commit - $ git push origin c8-sig-storage-nfs-ganesha-3 + $ git push origin c9s-sig-storage-nfs-ganesha-4 4. retrieve the commit for step 3: $ git log|head -n 1 commit 29f19456be12986e86392652331e3a56ff0a88a0 5. build - $ cbs build storage9s-nfsganesha-3-el9s git+https://git.centos.org/rpms/nfs-ganesha.git#29f19456be12986e86392652331e3a56ff0a88a0 + $ cbs build storage9s-nfsganesha-4-el9s git+https://git.centos.org/rpms/nfs-ganesha.git#29f19456be12986e86392652331e3a56ff0a88a0 And the packages with - $ cbs build [--scratch] storage9s-nfsganesha-3-el9s nfs-ganesha*.el8.src.rpm + $ cbs build [--scratch] storage9s-nfsganesha-4-el9s nfs-ganesha*.el9s.src.rpm diff --git a/SPECS/nfs-ganesha.spec b/SPECS/nfs-ganesha.spec index 502d611..4cf1ee6 100644 --- a/SPECS/nfs-ganesha.spec +++ b/SPECS/nfs-ganesha.spec @@ -57,8 +57,11 @@ Requires: openSUSE-release %bcond_without gluster %global use_fsal_gluster %{on_off_switch gluster} -%bcond_with panfs -%global use_fsal_panfs %{on_off_switch panfs} +%bcond_with kvsfs +%global use_fsal_kvsfs %{on_off_switch kvsfs} + +%bcond_with proxy_v3 +%global use_proxy_v3 %{on_off_switch proxy_v3} %bcond_with rdma %global use_rdma %{on_off_switch rdma} @@ -71,10 +74,10 @@ Requires: openSUSE-release %bcond_with lttng %global use_lttng %{on_off_switch lttng} -%bcond_without utils +%bcond_with utils %global use_utils %{on_off_switch utils} -%bcond_without gui_utils +%bcond_with gui_utils %global use_gui_utils %{on_off_switch gui_utils} %bcond_without system_ntirpc @@ -111,16 +114,16 @@ Requires: openSUSE-release %endif %global dev_version %{lua: s = string.gsub('@GANESHA_EXTRA_VERSION@', '^%-', ''); s2 = string.gsub(s, '%-', '.'); print((s2 ~= nil and s2 ~= '') and s2 or "0.1") } -# %%global dev rc5 +%global dev rc3 Name: nfs-ganesha -Version: 3.5 -Release: 3%{?dev:%{dev}}%{?dist} +Version: 4.0 +Release: 0.1%{?dev:%{dev}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space License: LGPLv3+ Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki -Source0: https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{name}-%{version}%{?dev:-%{dev}}.tar.gz +Source0: https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{name}-%{version}%{?dev:%{dev}}.tar.gz BuildRequires: cmake BuildRequires: make @@ -133,10 +136,10 @@ BuildRequires: krb5-devel BuildRequires: librados-devel >= 0.61 %endif %if ( 0%{?suse_version} >= 1330 ) -BuildRequires: libnsl-devel +BuildRequires: libnsl-devel %else %if ( 0%{?fedora} >= 28 || 0%{?rhel} >= 8 ) -BuildRequires: libnsl2-devel +BuildRequires: libnsl2-devel %endif %endif %if ( 0%{?suse_version} ) @@ -155,7 +158,7 @@ BuildRequires: libwbclient-devel %endif BuildRequires: gcc-c++ %if ( %{with_system_ntirpc} ) -BuildRequires: libntirpc-devel >= 3.4 +BuildRequires: libntirpc-devel >= 4.0 %else Requires: libntirpc = @NTIRPC_VERSION_EMBED@ %endif @@ -242,14 +245,25 @@ Requires: nfs-ganesha = %{version}-%{release} This package contains a FSAL shared object to be used with NFS-Ganesha to support VFS based filesystems -%package proxy -Summary: The NFS-GANESHA PROXY FSAL +%package proxy-v4 +Summary: The NFS-GANESHA PROXY_V4 FSAL +BuildRequires: libattr-devel +Requires: nfs-ganesha = %{version}-%{release} + +%description proxy-v4 +This package contains a FSAL shared object to +be used with NFS-Ganesha to support PROXY_V4 based filesystems + +%if %{with proxy_v3} +%package proxy-v3 +Summary: The NFS-GANESHA PROXY_V3 FSAL BuildRequires: libattr-devel Requires: nfs-ganesha = %{version}-%{release} -%description proxy +%description proxy-v3 This package contains a FSAL shared object to -be used with NFS-Ganesha to support PROXY based filesystems +be used with NFS-Ganesha to support PROXY_V3 based filesystems +%endif %if %{with utils} %package utils @@ -405,15 +419,17 @@ This package contains a FSAL shared object to be used with NFS-Ganesha to support LUSTRE based filesystems %endif -# PANFS -%if %{with panfs} -%package panfs -Summary: The NFS-GANESHA PANFS FSAL +# KVSFS +%if %{with kvsfs} +%package kvsfs +Summary: The NFS-GANESHA KVSFS FSAL Requires: nfs-ganesha = %{version}-%{release} +Requires: libkvsns >= 1.2.0 +BuildRequires: libkvsns-devel >= 1.2.0 -%description panfs +%description kvsfs This package contains a FSAL shared object to -be used with NFS-Ganesha to support PANFS +be used with NFS-Ganesha to support KVSFS/libkvsns %endif # GLUSTER @@ -433,9 +449,9 @@ be used with NFS-Ganesha to support Gluster %if ( 0%{?fedora} >= 29 || 0%{?rhel} >= 8 ) %package selinux Summary: The NFS-GANESHA SELINUX targeted policy -BuildArch: noarch -Requires: nfs-ganesha = %{version}-%{release} -BuildRequires: selinux-policy-devel +BuildArch: noarch +Requires: nfs-ganesha = %{version}-%{release} +BuildRequires: selinux-policy-devel %{?selinux_requires} %description selinux @@ -494,9 +510,10 @@ Development headers and auxiliary files for developing with %{name}. %endif %prep -%setup -q -n %{name}-%{version}%{?dev:-%{dev}} +%setup -q -n %{name}-4%{?dev:-%{dev}} %build +export VERBOSE=1 cd src && %{cmake} . -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DBUILD_CONFIG=rpmbuild \ -DUSE_FSAL_NULL=%{use_fsal_null} \ @@ -506,7 +523,7 @@ cd src && %{cmake} . -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DUSE_FSAL_CEPH=%{use_fsal_ceph} \ -DUSE_FSAL_RGW=%{use_fsal_rgw} \ -DUSE_FSAL_GPFS=%{use_fsal_gpfs} \ - -DUSE_FSAL_PANFS=%{use_fsal_panfs} \ + -DUSE_FSAL_KVSFS=%{use_fsal_kvsfs} \ -DUSE_FSAL_GLUSTER=%{use_fsal_gluster} \ -DUSE_SYSTEM_NTIRPC=%{use_system_ntirpc} \ -DUSE_9P_RDMA=%{use_rdma} \ @@ -516,7 +533,8 @@ cd src && %{cmake} . -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DUSE_RADOS_RECOV=%{use_rados_recov} \ -DRADOS_URLS=%{use_rados_urls} \ -DUSE_FSAL_VFS=ON \ - -DUSE_FSAL_PROXY=ON \ + -DUSE_FSAL_PROXY_V4=ON \ + -DUSE_FSAL_PROXY_V3=OFF \ -DUSE_DBUS=ON \ -DUSE_9P=%{use_9P} \ -DDISTNAME_HAS_GIT_DATA=OFF \ @@ -529,7 +547,6 @@ cd src && %{cmake} . -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DALLOCATOR=jemalloc %endif -export VERBOSE=1 export GCC_COLORS= %cmake_build @@ -719,10 +736,18 @@ exit 0 %{_mandir}/*/ganesha-vfs-config.8.gz %endif -%files proxy -%{_libdir}/ganesha/libfsalproxy* +%files proxy-v4 +%{_libdir}/ganesha/libfsalproxy_v4* +%if %{with man_page} +%{_mandir}/*/ganesha-proxy-v4-config.8.gz +%endif + +%if %{with proxy_v3} +%files proxy-v3 +%{_libdir}/ganesha/libfsalproxy_v3* %if %{with man_page} -%{_mandir}/*/ganesha-proxy-config.8.gz +%{_mandir}/*/ganesha-proxy-v3-config.8.gz +%endif %endif # Optional packages @@ -753,7 +778,9 @@ exit 0 %config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.main.conf %config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.log.conf %config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.exports.conf +%if %{with utils} %{_libexecdir}/ganesha/gpfs-epoch +%endif %if %{with man_page} %{_mandir}/*/ganesha-gpfs-config.8.gz %endif @@ -805,7 +832,7 @@ exit 0 %if ! %{with system_ntirpc} %files -n libntirpc %{_libdir}/libntirpc.so.@NTIRPC_VERSION_EMBED@ -%{_libdir}/libntirpc.so.1.6 +%{_libdir}/libntirpc.so.4.0 %{_libdir}/libntirpc.so %{!?_licensedir:%global license %%doc} %license libntirpc/COPYING @@ -816,9 +843,9 @@ exit 0 %{_includedir}/ntirpc/* %endif -%if %{with panfs} -%files panfs -%{_libdir}/ganesha/libfsalpanfs* +%if %{with kvsfs} +%files kvsfs +%{_libdir}/ganesha/libfsalkvsfs* %endif %if %{with lttng}