diff --git a/0001-src-cmake-modules-FindNTIPC.cmake.patch b/0001-src-cmake-modules-FindNTIPC.cmake.patch new file mode 100644 index 0000000..affa17b --- /dev/null +++ b/0001-src-cmake-modules-FindNTIPC.cmake.patch @@ -0,0 +1,11 @@ +--- nfs-ganesha-3.0-rc5/src/cmake/modules/FindNTIRPC.cmake.orig 2019-11-03 13:38:45.462670795 -0500 ++++ nfs-ganesha-3.0-rc5/src/cmake/modules/FindNTIRPC.cmake 2019-11-03 13:39:19.323670795 -0500 +@@ -69,7 +69,7 @@ + # all listed variables are TRUE + include(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(NTIRPC +- REQUIRED_VARS NTIRPC_INCLUDE_DIR NTIRPC_LIBRARY NTIRPC_LTTNG ++ REQUIRED_VARS NTIRPC_INCLUDE_DIR NTIRPC_LIBRARY + VERSION_VAR NTIRPC_VERSION) + # VERSION FPHSA options not handled by CMake version < 2.8.2) + # VERSION_VAR) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 2396693..e708f78 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -63,7 +63,7 @@ Requires: openSUSE-release %global use_fsal_ceph %{on_off_switch ceph} %ifnarch i686 armv7hl -%bcond_without rgw +%bcond_with rgw %else %bcond_with rgw %endif @@ -126,19 +126,18 @@ 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 rc1 -#%%global dash_dev_version 2.8-rc1 +%global dev rc5 +%global dash_dev_version 3.0-rc5 Name: nfs-ganesha -Version: 2.8.2 -Release: 4%{?dev:%{dev}}%{?dist} +Version: 3.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}/%{name}-%{version}.tar.gz -Patch0001: 0001-src-scripts-gpfs-epoch.patch -Patch0002: 0002-src-CMakeLists.txt.patch +Source0: https://github.com/%{name}/%{name}/archive/V%{dash_dev_version}/%{name}-%{dash_dev_version}.tar.gz +Patch1: 0001-src-cmake-modules-FindNTIPC.cmake.patch BuildRequires: cmake BuildRequires: bison @@ -146,6 +145,9 @@ BuildRequires: flex BuildRequires: pkgconfig BuildRequires: userspace-rcu-devel BuildRequires: krb5-devel +%if %{with rados_recov} || %{with rados_urls} +BuildRequires: librados-devel >= 0.61 +%endif %if ( 0%{?suse_version} >= 1330 ) BuildRequires: libnsl-devel %else @@ -169,7 +171,7 @@ BuildRequires: libwbclient-devel %endif BuildRequires: gcc-c++ %if ( %{with_system_ntirpc} ) -BuildRequires: libntirpc-devel = 1.8.0 +BuildRequires: libntirpc-devel >= 3.0 %else Requires: libntirpc = @NTIRPC_VERSION_EMBED@ %endif @@ -220,10 +222,14 @@ Requires(postun): systemd BuildRequires: initscripts %endif %if %{with man_page} -%if ( 0%{?fedora} >= 28 || 0%{?rhel} >= 8 ) -BuildRequires: python3-sphinx -%else +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) BuildRequires: python-sphinx +%else +%if ( 0%{?suse_version} ) +BuildRequires: python3-Sphinx +%else +BuildRequires: python3-sphinx +%endif %endif %endif Requires(post): psmisc @@ -271,26 +277,27 @@ be used with NFS-Ganesha to support PROXY based filesystems %if %{with utils} %package utils Summary: The NFS-GANESHA util scripts -%if ( 0%{?suse_version} ) -Requires: dbus-1-python, python-gobject2 python-pyparsing -Requires: python +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) +Requires: dbus-python, pygobject2, pyparsing +BuildRequires: python-devel %else -%if ( 0%{?fedora} >= 28 || 0%{?rhel} >= 8 ) -Requires: python3-dbus, python3-gobject, python3-pyparsing +Requires: python3-gobject, python3-pyparsing BuildRequires: python3-devel +%endif +%if ( 0%{?suse_version} ) +Requires: dbus-1-python %else -Requires: python2-dbus, pygobject2, python2-pyparsing -BuildRequires: python2-devel -%endif +Requires: python3-dbus %endif + %if %{with gui_utils} %if ( 0%{?suse_version} ) -BuildRequires: python-qt4-devel +BuildRequires: python-qt5-devel %else %if ( 0%{?fedora} >= 31 || 0%{?rhel} >= 8 ) -BuildRequires: python3-PyQt5-devel +BuildRequires: PyQt5-devel %else -BuildRequires: python3-PyQt4-devel +BuildRequires: PyQt4-devel %endif %endif %endif @@ -314,12 +321,24 @@ to the ganesha.nfsd server, it makes it possible to trace using LTTng. %if %{with rados_recov} %package rados-grace Summary: The NFS-GANESHA command for managing the RADOS grace database -BuildRequires: librados-devel >= 12.2.0 Requires: nfs-ganesha = %{version}-%{release} %description rados-grace This package contains the ganesha-rados-grace tool for interacting with the -database used by the rados_cluster recovery backend. +database used by the rados_cluster recovery backend and the +libganesha_rados_grace shared library for using RADOS storage for +recovery state. +%endif + +%if %{with rados_urls} +%package rados-urls +Summary: The NFS-GANESHA library for use with RADOS URLs +Group: Applications/System +Requires: nfs-ganesha = %{version}-%{release} + +%description rados-urls +This package contains the libganesha_rados_urls library used for +handling RADOS URL configurations. %endif # Option packages start here. use "rpmbuild --with gpfs" (or equivalent) @@ -424,7 +443,7 @@ be used with NFS-Ganesha to support PANFS %package gluster Summary: The NFS-GANESHA GLUSTER FSAL Requires: nfs-ganesha = %{version}-%{release} -BuildRequires: glusterfs-api-devel >= 3.12.3 +BuildRequires: glusterfs-api-devel >= 7.0 BuildRequires: libattr-devel, libacl-devel %description gluster @@ -497,9 +516,8 @@ Development headers and auxiliary files for developing with %{name}. %endif %prep -%setup -q -n %{name}-%{version} -%patch0001 -p1 -%patch0002 -p1 +%setup -q -n %{name}-%{dash_dev_version} +%patch1 -p1 %build cd src && %cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \ @@ -568,10 +586,6 @@ install -m 644 scripts/systemd/nfs-ganesha.service.el7 %{buildroot}%{_unitdir}/n install -m 644 scripts/systemd/nfs-ganesha-lock.service.el7 %{buildroot}%{_unitdir}/nfs-ganesha-lock.service install -m 644 scripts/systemd/nfs-ganesha-config.service %{buildroot}%{_unitdir}/nfs-ganesha-config.service install -m 644 scripts/systemd/sysconfig/nfs-ganesha %{buildroot}%{_sysconfdir}/sysconfig/ganesha -%if 0%{?_tmpfilesdir:1} -mkdir -p %{buildroot}%{_tmpfilesdir} -install -m 644 scripts/systemd/tmpfiles.d/ganesha.conf %{buildroot}%{_tmpfilesdir} -%endif mkdir -p %{buildroot}%{_localstatedir}/log/ganesha %else mkdir -p %{buildroot}%{_sysconfdir}/init.d @@ -601,7 +615,6 @@ install -m 644 config_samples/logrotate_fsal_gluster %{buildroot}%{_sysconfdir}/ %endif %if %{with gpfs} -install -m 755 scripts/gpfs-epoch %{buildroot}%{_libexecdir}/ganesha install -m 644 config_samples/gpfs.conf %{buildroot}%{_sysconfdir}/ganesha install -m 644 config_samples/gpfs.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/ganesha install -m 644 config_samples/gpfs.ganesha.main.conf %{buildroot}%{_sysconfdir}/ganesha @@ -622,6 +635,14 @@ install -p -m 644 selinux/ganesha.if %{buildroot}%{_selinux_store_path}/devel/in install -m 0644 selinux/ganesha.pp.bz2 %{buildroot}%{_selinux_store_path}/packages %endif +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) +rm -f %{buildroot}/%{python_sitelib}/gpfs* +rm -f %{buildroot}/%{python_sitelib}/__init__.* +%else +rm -f %{buildroot}/%{python3_sitelib}/gpfs* +rm -f %{buildroot}/%{python3_sitelib}/__init__.* +%endif + %post %if ( 0%{?suse_version} ) %service_add_post nfs-ganesha.service nfs-ganesha-lock.service nfs-ganesha-config.service @@ -687,9 +708,6 @@ exit 0 %{_unitdir}/nfs-ganesha.service %{_unitdir}/nfs-ganesha-lock.service %{_unitdir}/nfs-ganesha-config.service -%if 0%{?_tmpfilesdir:1} -%{_tmpfilesdir}/ganesha.conf -%endif %else %{_sysconfdir}/init.d/nfs-ganesha %endif @@ -705,12 +723,18 @@ exit 0 %if %{with rados_recov} %files rados-grace %{_bindir}/ganesha-rados-grace +%{_libdir}/libganesha_rados_recov.so* %if %{with man_page} %{_mandir}/*/ganesha-rados-grace.8.gz %{_mandir}/*/ganesha-rados-cluster-design.8.gz %endif %endif +%if %{with rados_urls} +%files rados-urls +%{_libdir}/libganesha_rados_urls.so* +%endif + %if %{with 9P} %files mount-9P %{_sbindir}/mount.9P @@ -838,17 +862,12 @@ exit 0 %if %{with utils} %files utils -%if ( 0%{?suse_version} ) -%{python2_sitelib}/Ganesha/* -%{python2_sitelib}/ganeshactl-*-info +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) +%{python_sitelib}/Ganesha/* +%{python_sitelib}/ganeshactl-*-info %else -%if ( 0%{?fedora} >= 28 || 0%{?rhel} >= 8 ) %{python3_sitelib}/Ganesha/* %{python3_sitelib}/ganeshactl-*-info -%else -%{python2_sitelib}/Ganesha/* -%{python2_sitelib}/ganeshactl-*-info -%endif %endif %if %{with gui_utils} %{_bindir}/ganesha-admin @@ -875,6 +894,9 @@ exit 0 %endif %changelog +* Sun Nov 3 2019 Kaleb S. KEITHLEY - 3.0-0.1rc5 +- nfs-ganesha 3.0 RC5 + * Wed Sep 25 2019 Kaleb S. KEITHLEY - 2.8.2-4 - PyQt4 -> PyQt5 diff --git a/sources b/sources index 495da66..d4d9851 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (nfs-ganesha-2.8.2.tar.gz) = 80272a00dae5af3270bced97010a84453e3fdb987b3984d0782209f9328661815968aca1cc985a1acf5f7b14aedadc9e4231bee6a59370a362bccc113e93d1fe +SHA512 (nfs-ganesha-3.0-rc5.tar.gz) = bbd4c415b590dec6a0ac55a8fb3359f462434d81f3617cb3a42a1cfb33e6915f9c397fc421f17d889b13acde91740474a8eb2a22121fe0ca0b39bda542a75521