The package rpms/nfs-ganesha.git has added or updated architecture specific content in
its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/nfs-ganesha.git/commit/?id=58d734...
https://src.fedoraproject.org/cgit/rpms/nfs-ganesha.git/commit/?id=7ea846...
https://src.fedoraproject.org/cgit/rpms/nfs-ganesha.git/commit/?id=5093e9....
Change:
-%ifnarch i686 armv7hl
+%ifnarch i686 armv7hl
-%ifnarch i686 armv7hl
Thanks.
Full change:
============
commit 377a8bd4eada37a8cec48054daa95c2b113433d2
Merge: e178159 58d7341
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue May 21 10:01:28 2024 -0400
NFS-Ganesha 5.8 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --cc nfs-ganesha.spec
index b407335,4feac18..d29fab2
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@@ -115,8 -117,8 +114,8 @@@ Requires: openSUSE-releas
#%%global dev rc6
Name: nfs-ganesha
- Version: 5.7
- Release: 3%{?dev:%{dev}}%{?dist}
+ Version: 5.8
-Release: 2%{?dev:%{dev}}%{?dist}
++Release: 1%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@@ -167,7 -168,7 +165,7 @@@ BuildRequires: libprometheus-cpp-deve
%endif
BuildRequires: gcc-c++
%if ( 0%{?with_system_ntirpc} )
--BuildRequires: libntirpc-devel >= 4.3
++BuildRequires: libntirpc-devel >= 5.0
%else
Requires: libntirpc = @NTIRPC_VERSION_EMBED@
%endif
@@@ -870,8 -904,6 +885,8 @@@ exit
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
%{python_sitelib}/Ganesha/*
%{python_sitelib}/ganeshactl-*-info
+%else
- %{python3_sitelib}/ganeshactl-*.egg
++%{python3_sitelib}/ganesha*.egg
%endif
%if ( 0%{?with_gui_utils} )
%{_bindir}/ganesha-admin
@@@ -879,6 -911,7 +894,7 @@@
%{_bindir}/manage_exports
%{_bindir}/manage_logger
%{_bindir}/ganeshactl
-%{python3_sitelib}/Ganesha/*
++%{_bindir}/ganesha-top
%if ( 0%{?with_9P} )
%{_bindir}/client_stats_9pOps
%{_bindir}/export_stats_9pOps
@@@ -898,11 -931,36 +914,14 @@@
%endif
%changelog
-* Tue May 21 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-2
-- NFS-Ganesha 5.8, enable ceph again
-
-* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
++* Tue May 21 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
+ - NFS-Ganesha 5.8 GA
-- temporarily disable ceph until there is an updated build
-
-* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
-- enable VFS_POSIX_ACL, for real this time
-
-* Wed May 1 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-8
-- enable VFS_POSIX_ACL, which has been available since 4.x
-
-* Fri Mar 15 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-7
-- rebuild with (lib)prometheus-cpp-1.2.4
-
-* Thu Feb 8 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-6
-- rebuild with (lib)prometheus-cpp-1.2.3
-
-* Thu Jan 25 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.7-5
-- Rebuilt for
https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
-
-* Fri Jan 19 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-4
-- rebuild with (lib)prometheus-cpp-1.2.1, gcc-14, etc.
+
-* Tue Jan 2 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-3
-- rebuild with (lib)prometheus-cpp-1.2.0
+* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-3
+- enable ACLs in FSAL_VFS, this time for real
-* Tue Nov 21 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-2
-- use python pep517 installer and build
+* Thu May 2 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-2
+- enable ACLs in FSAL_VFS
* Fri Nov 3 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-1
- NFS-Ganesha 5.7 GA
commit 58d7341bf76abae542921491790fa8b2058dec6e
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue May 21 07:18:29 2024 -0400
NFS-Ganesha 5.8, enable ceph again
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 8f1cd3a..4feac18 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -45,11 +45,7 @@ Requires: openSUSE-release
%endif
%global use_fsal_ceph %{on_off_switch ceph}
-%ifnarch i686 armv7hl
-%bcond_without rgw
-%else
%bcond_with rgw
-%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
commit 7ea8466da18938ddb05ba5c39245d84161335198
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue May 21 05:50:35 2024 -0400
NFS-Ganesha 5.8, enable ceph again
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 7d11f68..8f1cd3a 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -38,10 +38,18 @@ Requires: openSUSE-release
%bcond_with lustre
%global use_fsal_lustre %{on_off_switch lustre}
+%ifnarch i686 armv7hl
+%bcond_without ceph
+%else
%bcond_with ceph
+%endif
%global use_fsal_ceph %{on_off_switch ceph}
+%ifnarch i686 armv7hl
+%bcond_without rgw
+%else
%bcond_with rgw
+%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
@@ -76,10 +84,18 @@ Requires: openSUSE-release
%bcond_without man_page
%global use_man_page %{on_off_switch man_page}
+%ifnarch i686 armv7hl
+%bcond_without rados_recov
+%else
%bcond_with rados_recov
+%endif
%global use_rados_recov %{on_off_switch rados_recov}
+%ifnarch i686 armv7hl
+%bcond_without rados_urls
+%else
%bcond_with rados_urls
+%endif
%global use_rados_urls %{on_off_switch rados_urls}
%bcond_without rpcbind
@@ -106,7 +122,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.8
-Release: 1%{?dev:%{dev}}%{?dist}
+Release: 2%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -919,6 +935,9 @@ exit 0
%endif
%changelog
+* Tue May 21 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-2
+- NFS-Ganesha 5.8, enable ceph again
+
* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
- NFS-Ganesha 5.8 GA
- temporarily disable ceph until there is an updated build
commit e3ac850fef47c7fa0178085f4a79cf98a15125d1
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Mon May 20 13:34:56 2024 -0400
NFS-Ganesha 5.8 GA
temporarily disable ceph until there is an updated build
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0003-python-installer.patch b/0003-python-installer.patch
deleted file mode 100644
index 1c93f2b..0000000
--- a/0003-python-installer.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 631225223..1336103c5 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -1125,6 +1125,9 @@ if(USE_CAPS)
- endif (CAPS_FOUND)
- endif(USE_CAPS)
-
-+# default to ON so that it does the right thing in the CentOS CI
-+goption(USE_LEGACY_PYTHON_INSTALL "Use 'python setup.py install'" ON)
-+
- # Check if we have libblkid and libuuid, will just be reported under one
- # flag USE_BLKID
-
-@@ -1616,6 +1619,12 @@ else(SANITIZE_ADDRESS)
- set(BCOND_SANITIZE_ADDRESS "%bcond_with")
- endif(SANITIZE_ADDRESS)
-
-+if(USE_LEGACY_PYTHON_INSTALL)
-+ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_without")
-+else(USE_LEGACY_PYTHON_INSTALL)
-+ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_with")
-+endif(USE_LEGACY_PYTHON_INSTALL)
-+
- # Now create a usable specfile
- configure_file(
- "${PROJECT_SOURCE_DIR}/nfs-ganesha.spec-in.cmake"
-diff --git a/src/scripts/ganesha-top/CMakeLists.txt
b/src/scripts/ganesha-top/CMakeLists.txt
-index f2f0e1df6..59c2eebac 100644
---- a/src/scripts/ganesha-top/CMakeLists.txt
-+++ b/src/scripts/ganesha-top/CMakeLists.txt
-@@ -56,18 +56,36 @@ if(USE_ADMIN_TOOLS)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_ganesha_top ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR}
dist/ganesha-top-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
- endif(USE_ADMIN_TOOLS)
-diff --git a/src/scripts/ganeshactl/CMakeLists.txt
b/src/scripts/ganeshactl/CMakeLists.txt
-index a6ba73ede..1339ccafe 100644
---- a/src/scripts/ganeshactl/CMakeLists.txt
-+++ b/src/scripts/ganeshactl/CMakeLists.txt
-@@ -137,19 +137,37 @@ if(Python3_FOUND)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_ganeshactl ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR}
dist/ganeshactl-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
-
- # Man page
-diff --git a/src/scripts/gpfs-epoch/CMakeLists.txt
b/src/scripts/gpfs-epoch/CMakeLists.txt
-index af8035444..796a3a64e 100644
---- a/src/scripts/gpfs-epoch/CMakeLists.txt
-+++ b/src/scripts/gpfs-epoch/CMakeLists.txt
-@@ -56,19 +56,38 @@ if(USE_FSAL_GPFS)
-
- configure_file(${SETUP_PY_IN} ${SETUP_PY})
-
-- add_custom_command(
-- OUTPUT ${OUTPUT}
-- COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-- DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-- )
-+ if(USE_LEGACY_PYTHON_INSTALL)
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-+ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-+ )
-+ else()
-+ add_custom_command(
-+ OUTPUT ${OUTPUT}
-+ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-+ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
-+ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
-+ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
-+ )
-+ endif()
-
- add_custom_target(python_gpfs_epoch ALL DEPENDS ${OUTPUT})
-
-- install(
-- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}
--install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
-- )
-+ if (USE_LEGACY_PYTHON_INSTALL)
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}
--install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
-+ )
-+ else()
-+ install(
-+ CODE
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-+ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR}
dist/gpfs-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
-+ )
-+ endif()
- endif(Python3_FOUND)
- endif(USE_FSAL_GPFS)
diff --git a/0004-gcc-14.patch b/0004-gcc-14.patch
deleted file mode 100644
index f9ccc59..0000000
--- a/0004-gcc-14.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- nfs-ganesha-5.7/src/monitoring/monitoring.cc.orig 2024-01-19 10:17:09.609065781
-0500
-+++ nfs-ganesha-5.7/src/monitoring/monitoring.cc 2024-01-19 10:17:28.535732620 -0500
-@@ -26,6 +26,7 @@
- #include <memory>
- #include <sstream>
- #include <string>
-+#include <algorithm>
-
- #include "prometheus/counter.h"
- #include "prometheus/exposer.h"
-@@ -260,7 +261,7 @@
- std::shared_ptr<prometheus::Registry> registry;
-
- static void toLowerCase(std::string &s) {
-- transform(s.begin(), s.end(), s.begin(), ::tolower);
-+ std::transform(s.begin(), s.end(), s.begin(), ::tolower);
- }
-
- static void observeNfsRequest(const char *operation,
---- nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c.orig 2024-01-19 10:26:57.758293091 -0500
-+++ nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c 2024-01-19 10:44:35.158948523 -0500
-@@ -131,14 +131,7 @@
- attrmask_t attrmask;
- };
-
--#if ((LIBRGW_FILE_VER_MAJOR > 1) || \
-- ((LIBRGW_FILE_VER_MAJOR == 1) && \
-- ((LIBRGW_FILE_VER_MINOR > 2) || \
-- ((LIBRGW_FILE_VER_MINOR == 2) && (LIBRGW_FILE_VER_EXTRA >= 1)))))
- static int
--#else
--static bool
--#endif
- rgw_cb(const char *name, void *arg, uint64_t offset,
- struct stat *st, uint32_t st_mask, uint32_t flags)
- {
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 06fe139..7d11f68 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -47,6 +47,9 @@ Requires: openSUSE-release
%bcond_without gluster
%global use_fsal_gluster %{on_off_switch gluster}
+%bcond_without saunafs
+%global use_fsal_saunafs %{on_off_switch saunafs}
+
%bcond_with kvsfs
%global use_fsal_kvsfs %{on_off_switch kvsfs}
@@ -446,6 +449,17 @@ This package contains a FSAL shared object to
be used with NFS-Ganesha to support Gluster
%endif
+# SAUNA
+%if ( 0%{?with_saunafs} )
+%package saunafs
+Summary: The NFS-GANESHA SAUNAFS FSAL
+Requires: nfs-ganesha = %{version}-%{release}
+
+%description saunafs
+This package contains a FSAL shared object to
+be used with NFS-Ganesha to support Sauna FS
+%endif
+
# SELINUX
%if ( 0%{?fedora} >= 29 || 0%{?rhel} >= 8 )
%package selinux
@@ -527,6 +541,7 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DUSE_FSAL_GPFS=%{use_fsal_gpfs} \
-DUSE_FSAL_KVSFS=%{use_fsal_kvsfs} \
-DUSE_FSAL_GLUSTER=%{use_fsal_gluster} \
+ -DUSE_FSAL_SAUNAFS=%{use_fsal_saunafs} \
-DUSE_SYSTEM_NTIRPC=%{use_system_ntirpc} \
-DUSE_9P_RDMA=%{use_rdma} \
-DUSE_LTTNG=%{use_lttng} \
@@ -837,6 +852,11 @@ exit 0
%endif
%endif
+%if ( 0%{?with_saunafs} )
+%files saunafs
+%{_libdir}/ganesha/libfsalsaunafs*
+%endif
+
%if ( 0%{?fedora} >= 30 || 0%{?rhel} >= 8 )
%files selinux
%attr(0644,root,root) %{_selinux_store_path}/packages/ganesha.pp.bz2
@@ -901,6 +921,7 @@ exit 0
%changelog
* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
- NFS-Ganesha 5.8 GA
+- temporarily disable ceph until there is an updated build
* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
- enable VFS_POSIX_ACL, for real this time
diff --git a/sources b/sources
index 2d5db93..21a567d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (nfs-ganesha-5.7.tar.gz) =
611687283dbbdd87a67ec4b637297bf1442b4533ba88e8f2b29dba7a870cd249db135e8645686aef73d3af3e155729df9896da038a11992c87fc2da5192e8f8f
+SHA512 (nfs-ganesha-5.8.tar.gz) =
611457a6c0b651308bf5047aea7cfb1ebef79ea8652516be23996e0e06185a78a134c1bcb677b9b3d91174ae0fa9fe000afd428f265e04f3d242ae861bb0151e
commit 5093e93d6ef93baaf6242ce64ac383a6d7a26c89
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Mon May 20 11:39:51 2024 -0400
nfs-ganesha 5.8 GA
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index e3354e8..06fe139 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -38,18 +38,10 @@ Requires: openSUSE-release
%bcond_with lustre
%global use_fsal_lustre %{on_off_switch lustre}
-%ifnarch i686 armv7hl
-%bcond_without ceph
-%else
%bcond_with ceph
-%endif
%global use_fsal_ceph %{on_off_switch ceph}
-%ifnarch i686 armv7hl
-%bcond_without rgw
-%else
%bcond_with rgw
-%endif
%global use_fsal_rgw %{on_off_switch rgw}
%bcond_without gluster
@@ -81,18 +73,10 @@ Requires: openSUSE-release
%bcond_without man_page
%global use_man_page %{on_off_switch man_page}
-%ifnarch i686 armv7hl
-%bcond_without rados_recov
-%else
%bcond_with rados_recov
-%endif
%global use_rados_recov %{on_off_switch rados_recov}
-%ifnarch i686 armv7hl
-%bcond_without rados_urls
-%else
%bcond_with rados_urls
-%endif
%global use_rados_urls %{on_off_switch rados_urls}
%bcond_without rpcbind
@@ -118,16 +102,14 @@ Requires: openSUSE-release
#%%global dev rc6
Name: nfs-ganesha
-Version: 5.7
-Release: 9%{?dev:%{dev}}%{?dist}
+Version: 5.8
+Release: 1%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
Source0:
https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{n...
Patch0001: 0001-config_samples-log_rotate.patch
-Patch0003: 0003-python-installer.patch
-Patch0004: 0004-gcc-14.patch
BuildRequires: cmake
BuildRequires: make
@@ -392,7 +374,7 @@ be used with NFS-Ganesha to support GPFS backend
%package ceph
Summary: The NFS-GANESHA CephFS FSAL
Requires: nfs-ganesha = %{version}-%{release}
-BuildRequires: libcephfs2-devel >= 12.2.0
+BuildRequires: libcephfs-devel >= 12.2.0
BuildRequires: libacl-devel
%description ceph
@@ -405,7 +387,7 @@ be used with NFS-Ganesha to support CephFS
%package rgw
Summary: The NFS-GANESHA Ceph RGW FSAL
Requires: nfs-ganesha = %{version}-%{release}
-BuildRequires: librgw2-devel >= 12.2.0
+BuildRequires: librgw-devel >= 12.2.0
%description rgw
This package contains a FSAL shared object to
@@ -917,6 +899,9 @@ exit 0
%endif
%changelog
+* Mon May 20 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.8-1
+- NFS-Ganesha 5.8 GA
+
* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
- enable VFS_POSIX_ACL, for real this time
commit 5d4d9558f85e5449058eda8e72e5318b4b7accd7
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Fri May 10 07:58:12 2024 -0400
enable VFS_POSIX_ACL, for real this time
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0005-enable-acls.patch b/0005-enable-acls.patch
deleted file mode 100644
index ada594d..0000000
--- a/0005-enable-acls.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- nfs-ganesha/src/cmake/modules/FindLibACL.cmake.orig 2024-05-02 11:12:57.170174484
-0400
-+++ nfs-ganesha/src/cmake/modules/FindLibACL.cmake 2024-05-02 11:15:27.184553194 -0400
-@@ -30,8 +30,11 @@
- check_library_exists(acl acl_get_file "" HAVE_LIBACL)
- endif(HAVE_ACL_LIBACL_H)
-
--if(HAVE_SYS_ACL_H)
-- # Available on FreeBSD (and perhaps others) - replace on Linux
-- check_symbol_exists(acl_get_fd_np sys/acl.h HAVE_ACL_GET_FD_NP)
-- check_symbol_exists(acl_set_fd_np sys/acl.h HAVE_ACL_SET_FD_NP)
--endif(HAVE_SYS_ACL_H)
-+if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-+ # We know Linux doesn't have them, use the versions in os/linux/acl.c
-+ if(HAVE_SYS_ACL_H)
-+ # Available on FreeBSD (and perhaps others) - replace on Linux
-+ check_symbol_exists(acl_get_fd_np sys/acl.h HAVE_ACL_GET_FD_NP)
-+ check_symbol_exists(acl_set_fd_np sys/acl.h HAVE_ACL_SET_FD_NP)
-+ endif(HAVE_SYS_ACL_H)
-+endif()
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 7908bed..e3354e8 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 8%{?dev:%{dev}}%{?dist}
+Release: 9%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -128,7 +128,6 @@
Source0:
https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%
Patch0001: 0001-config_samples-log_rotate.patch
Patch0003: 0003-python-installer.patch
Patch0004: 0004-gcc-14.patch
-Patch0005: 0005-enable-acls.patch
BuildRequires: cmake
BuildRequires: make
@@ -554,6 +553,7 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DUSE_RADOS_RECOV=%{use_rados_recov} \
-DRADOS_URLS=%{use_rados_urls} \
-DUSE_FSAL_VFS=ON \
+ -DENABLE_VFS_POSIX_ACL=YES \
-DUSE_FSAL_PROXY_V4=ON \
-DUSE_FSAL_PROXY_V3=ON \
-DUSE_DBUS=ON \
@@ -917,6 +917,9 @@ exit 0
%endif
%changelog
+* Fri May 10 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-9
+- enable VFS_POSIX_ACL, for real this time
+
* Wed May 1 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-8
- enable VFS_POSIX_ACL, which has been available since 4.x
commit e627b6b7c732b856cbdea49b43476becfd186955
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Thu May 2 11:44:57 2024 -0400
enable VFS_POSIX_ACL, which has been available since 4.x
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0005-enable-acls.patch b/0005-enable-acls.patch
new file mode 100644
index 0000000..ada594d
--- /dev/null
+++ b/0005-enable-acls.patch
@@ -0,0 +1,19 @@
+--- nfs-ganesha/src/cmake/modules/FindLibACL.cmake.orig 2024-05-02 11:12:57.170174484
-0400
++++ nfs-ganesha/src/cmake/modules/FindLibACL.cmake 2024-05-02 11:15:27.184553194 -0400
+@@ -30,8 +30,11 @@
+ check_library_exists(acl acl_get_file "" HAVE_LIBACL)
+ endif(HAVE_ACL_LIBACL_H)
+
+-if(HAVE_SYS_ACL_H)
+- # Available on FreeBSD (and perhaps others) - replace on Linux
+- check_symbol_exists(acl_get_fd_np sys/acl.h HAVE_ACL_GET_FD_NP)
+- check_symbol_exists(acl_set_fd_np sys/acl.h HAVE_ACL_SET_FD_NP)
+-endif(HAVE_SYS_ACL_H)
++if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
++ # We know Linux doesn't have them, use the versions in os/linux/acl.c
++ if(HAVE_SYS_ACL_H)
++ # Available on FreeBSD (and perhaps others) - replace on Linux
++ check_symbol_exists(acl_get_fd_np sys/acl.h HAVE_ACL_GET_FD_NP)
++ check_symbol_exists(acl_set_fd_np sys/acl.h HAVE_ACL_SET_FD_NP)
++ endif(HAVE_SYS_ACL_H)
++endif()
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 74955c1..7908bed 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 7%{?dev:%{dev}}%{?dist}
+Release: 8%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -128,6 +128,7 @@
Source0:
https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%
Patch0001: 0001-config_samples-log_rotate.patch
Patch0003: 0003-python-installer.patch
Patch0004: 0004-gcc-14.patch
+Patch0005: 0005-enable-acls.patch
BuildRequires: cmake
BuildRequires: make
@@ -916,6 +917,9 @@ exit 0
%endif
%changelog
+* Wed May 1 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-8
+- enable VFS_POSIX_ACL, which has been available since 4.x
+
* Fri Mar 15 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-7
- rebuild with (lib)prometheus-cpp-1.2.4
commit 51ae5814e67d5dc9f89295d2e6ca799856847cb5
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Fri Mar 15 11:01:33 2024 -0400
rebuild with (lib)prometheus-cpp-1.2.4
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 9f6f922..74955c1 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 6%{?dev:%{dev}}%{?dist}
+Release: 7%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Fri Mar 15 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-7
+- rebuild with (lib)prometheus-cpp-1.2.4
+
* Thu Feb 8 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-6
- rebuild with (lib)prometheus-cpp-1.2.3
commit 66e905f497275b21093f46c8757e554ab10b9f06
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Thu Feb 8 11:05:27 2024 -0500
rebuild with (lib)prometheus-cpp-1.2.3
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 673dc5f..9f6f922 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 5%{?dev:%{dev}}%{?dist}
+Release: 6%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Thu Feb 8 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-6
+- rebuild with (lib)prometheus-cpp-1.2.3
+
* Thu Jan 25 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.7-5
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
commit 6d772e201498fe19d8593106c8fdb5cfdf37f324
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jan 25 08:56:51 2024 +0000
Rebuilt for
https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index ba58e6f..673dc5f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 4%{?dev:%{dev}}%{?dist}
+Release: 5%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Thu Jan 25 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 5.7-5
+- Rebuilt for
https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
* Fri Jan 19 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-4
- rebuild with (lib)prometheus-cpp-1.2.1, gcc-14, etc.
commit 1627b76ea1f9af93f2cf35f3ad9b123aa8022e60
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Fri Jan 19 10:56:56 2024 -0500
rebuild with (lib)prometheus-cpp-1.2.1, gcc-14, etc.
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 21da49f..ba58e6f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Fri Jan 19 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-4
+- rebuild with (lib)prometheus-cpp-1.2.1, gcc-14, etc.
+
* Tue Jan 2 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-3
- rebuild with (lib)prometheus-cpp-1.2.0
commit 7a368990cb62a2481ebdbe31c4821a5f04dd8ef7
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Fri Jan 19 10:54:28 2024 -0500
rebuild with (lib)prometheus-cpp-1.2.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/0004-gcc-14.patch b/0004-gcc-14.patch
new file mode 100644
index 0000000..f9ccc59
--- /dev/null
+++ b/0004-gcc-14.patch
@@ -0,0 +1,36 @@
+--- nfs-ganesha-5.7/src/monitoring/monitoring.cc.orig 2024-01-19 10:17:09.609065781
-0500
++++ nfs-ganesha-5.7/src/monitoring/monitoring.cc 2024-01-19 10:17:28.535732620 -0500
+@@ -26,6 +26,7 @@
+ #include <memory>
+ #include <sstream>
+ #include <string>
++#include <algorithm>
+
+ #include "prometheus/counter.h"
+ #include "prometheus/exposer.h"
+@@ -260,7 +261,7 @@
+ std::shared_ptr<prometheus::Registry> registry;
+
+ static void toLowerCase(std::string &s) {
+- transform(s.begin(), s.end(), s.begin(), ::tolower);
++ std::transform(s.begin(), s.end(), s.begin(), ::tolower);
+ }
+
+ static void observeNfsRequest(const char *operation,
+--- nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c.orig 2024-01-19 10:26:57.758293091 -0500
++++ nfs-ganesha-5.7/src/FSAL/FSAL_RGW/handle.c 2024-01-19 10:44:35.158948523 -0500
+@@ -131,14 +131,7 @@
+ attrmask_t attrmask;
+ };
+
+-#if ((LIBRGW_FILE_VER_MAJOR > 1) || \
+- ((LIBRGW_FILE_VER_MAJOR == 1) && \
+- ((LIBRGW_FILE_VER_MINOR > 2) || \
+- ((LIBRGW_FILE_VER_MINOR == 2) && (LIBRGW_FILE_VER_EXTRA >= 1)))))
+ static int
+-#else
+-static bool
+-#endif
+ rgw_cb(const char *name, void *arg, uint64_t offset,
+ struct stat *st, uint32_t st_mask, uint32_t flags)
+ {
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 712970f..21da49f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 3%{?dev:%{dev}}%{?dist}
+Release: 4%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -127,6 +127,7 @@ Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
Source0:
https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{n...
Patch0001: 0001-config_samples-log_rotate.patch
Patch0003: 0003-python-installer.patch
+Patch0004: 0004-gcc-14.patch
BuildRequires: cmake
BuildRequires: make
commit cb1677a3d8b7592df7170175325adb6f096b5a11
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue Jan 2 11:22:15 2024 -0500
rebuild with (lib)prometheus-cpp-1.2.0
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index e276c2f..712970f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 2%{?dev:%{dev}}%{?dist}
+Release: 3%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -563,7 +563,6 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DUSE_MONITORING=%{use_monitoring_support} \
-DSANITIZE_ADDRESS=%{use_sanitize_address} \
-DUSE_LEGACY_PYTHON_INSTALL=%{use_legacy_python_install} \
- -DUSE_MONITORING=ON \
%ifarch x86_64 aarch64
-DCMAKE_LINKER=%{_bindir}/ld.mold \
%endif
@@ -916,6 +915,9 @@ exit 0
%endif
%changelog
+* Tue Jan 2 2024 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-3
+- rebuild with (lib)prometheus-cpp-1.2.0
+
* Tue Nov 21 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-2
- use python pep517 installer and build
commit 1b951140cd35db04825ce1e1203ecd48bc50f2c3
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Tue Nov 21 12:01:21 2023 -0500
use python pep517 installer and build
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 8add67b..e276c2f 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -119,7 +119,7 @@ Requires: openSUSE-release
Name: nfs-ganesha
Version: 5.7
-Release: 1%{?dev:%{dev}}%{?dist}
+Release: 2%{?dev:%{dev}}%{?dist}
Summary: NFS-Ganesha is a NFS Server running in user space
License: LGPL-3.0-or-later
Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
@@ -916,6 +916,9 @@ exit 0
%endif
%changelog
+* Tue Nov 21 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-2
+- use python pep517 installer and build
+
* Fri Nov 3 2023 Kaleb S. KEITHLEY <kkeithle at redhat.com> - 5.7-1
- NFS-Ganesha 5.7 GA
commit 4d46eb4f08d34a4acbc3e0359835c54f8f98ce0e
Author: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Date: Mon Nov 20 15:55:38 2023 -0500
python 'standard' (pep517) installer
diff --git a/0002-CMakeLists.txt.patch b/0002-CMakeLists.txt.patch
deleted file mode 100644
index 97dad24..0000000
--- a/0002-CMakeLists.txt.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- nfs-ganesha-5.1/src/scripts/ganeshactl/CMakeLists.txt.orig 2023-05-02
07:58:59.039596775 -0400
-+++ nfs-ganesha-5.1/src/scripts/ganeshactl/CMakeLists.txt 2023-05-02 08:09:20.643443421
-0400
-@@ -65,7 +65,7 @@
- Ganesha/QtUI/ui_log_dialog.ui
- )
-
--if(Python3_FOUND)
-+if(PYTHONINTERP_FOUND)
- set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
- set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
- set(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build/ganeshactl_timestamp")
-@@ -139,7 +139,7 @@
-
- add_custom_command(
- OUTPUT ${OUTPUT}
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${PYTHON_EXECUTABLE} "${SETUP_PY}" build
- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
- DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
- )
-@@ -148,9 +148,9 @@
-
- install(
- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${PYTHON_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
- )
--endif(Python3_FOUND)
-+endif(PYTHONINTERP_FOUND)
-
- # Man page
- set(man8_file ganesha_conf.man)
---- nfs-ganesha-5.1/src/scripts/gpfs-epoch/CMakeLists.txt.orig 2023-05-02
07:58:59.049596595 -0400
-+++ nfs-ganesha-5.1/src/scripts/gpfs-epoch/CMakeLists.txt 2023-05-02 08:08:01.662858781
-0400
-@@ -21,7 +21,7 @@
- #-------------------------------------------------------------------------------
-
- if(USE_FSAL_GPFS)
-- if(Python3_FOUND)
-+ if(PYTHONINTERP_FOUND)
- set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
- set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
- set(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build/gpfs_epoch_timestamp")
-@@ -59,7 +59,7 @@
- add_custom_command(
- OUTPUT ${OUTPUT}
- COMMAND ${CMAKE_COMMAND} -E touch __init__.py
-- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
-+ COMMAND ${PYTHON_EXECUTABLE} "${SETUP_PY}" build
- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
- DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
- )
-@@ -68,7 +68,7 @@
-
- install(
- CODE
-- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}
--install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
-+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${PYTHON_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}
--install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
- )
-- endif(Python3_FOUND)
-+ endif(PYTHONINTERP_FOUND)
- endif(USE_FSAL_GPFS)
---- nfs-ganesha-5.5/src/CMakeLists.txt.orig 2023-08-07 09:37:18.216112828 -0400
-+++ nfs-ganesha-5.5/src/CMakeLists.txt 2023-08-07 09:39:55.529443584 -0400
-@@ -297,11 +297,11 @@
- goption(USE_MONITORING "Build monitoring stack" OFF)
- gopt_test(USE_MONITORING)
- if(USE_MONITORING)
-- find_package(prometheus-cpp CONFIG REQUIRED)
-- if(NOT prometheus-cpp_INCLUDE_DIR)
-+ find_package(prometheus-cpp-core)
-+ if(NOT prometheus-cpp-core_INCLUDE_DIR)
- message(WARNING "prometheus not found; disabling USE_MONITORING")
- set(USE_MONITORING OFF)
-- endif(NOT prometheus-cpp_INCLUDE_DIR)
-+ endif(NOT prometheus-cpp-core_INCLUDE_DIR)
- set(MONITORING_LIBRARIES
- prometheus-cpp-pull
- prometheus-cpp-core
-@@ -593,11 +593,11 @@
-
- gopt_test(USE_ADMIN_TOOLS)
- if (USE_ADMIN_TOOLS)
-- find_package (Python3 COMPONENTS Interpreter)
-- if (NOT Python3_Interpreter_FOUND)
-+ find_package (PythonInterp COMPONENTS Interpreter)
-+ if (NOT PYTHONINTERP_FOUND)
- message(WARNING "Cannot find python. Disablin admin tools")
- set(USE_ADMIN_TOOLS OFF)
-- endif (NOT Python3_Interpreter_FOUND)
-+ endif (NOT PYTHONINTERP_FOUND)
- endif (USE_ADMIN_TOOLS)
-
- gopt_test(USE_GUI_ADMIN_TOOLS)
diff --git a/0003-python-installer.patch b/0003-python-installer.patch
new file mode 100644
index 0000000..1c93f2b
--- /dev/null
+++ b/0003-python-installer.patch
@@ -0,0 +1,184 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 631225223..1336103c5 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1125,6 +1125,9 @@ if(USE_CAPS)
+ endif (CAPS_FOUND)
+ endif(USE_CAPS)
+
++# default to ON so that it does the right thing in the CentOS CI
++goption(USE_LEGACY_PYTHON_INSTALL "Use 'python setup.py install'" ON)
++
+ # Check if we have libblkid and libuuid, will just be reported under one
+ # flag USE_BLKID
+
+@@ -1616,6 +1619,12 @@ else(SANITIZE_ADDRESS)
+ set(BCOND_SANITIZE_ADDRESS "%bcond_with")
+ endif(SANITIZE_ADDRESS)
+
++if(USE_LEGACY_PYTHON_INSTALL)
++ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_without")
++else(USE_LEGACY_PYTHON_INSTALL)
++ set(BCOND_LEGACY_PYTHON_INSTALL "%bcond_with")
++endif(USE_LEGACY_PYTHON_INSTALL)
++
+ # Now create a usable specfile
+ configure_file(
+ "${PROJECT_SOURCE_DIR}/nfs-ganesha.spec-in.cmake"
+diff --git a/src/scripts/ganesha-top/CMakeLists.txt
b/src/scripts/ganesha-top/CMakeLists.txt
+index f2f0e1df6..59c2eebac 100644
+--- a/src/scripts/ganesha-top/CMakeLists.txt
++++ b/src/scripts/ganesha-top/CMakeLists.txt
+@@ -56,18 +56,36 @@ if(USE_ADMIN_TOOLS)
+
+ configure_file(${SETUP_PY_IN} ${SETUP_PY})
+
+- add_custom_command(
+- OUTPUT ${OUTPUT}
+- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
+- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
+- DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
++ )
++ else()
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GANESHA_TOP_SRCS} ${SCRIPTS}
++ )
++ endif()
+
+ add_custom_target(python_ganesha_top ALL DEPENDS ${OUTPUT})
+
+- install(
+- CODE
+- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
++ )
++ else()
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR}
dist/ganesha-top-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
++ )
++ endif()
+ endif(Python3_FOUND)
+ endif(USE_ADMIN_TOOLS)
+diff --git a/src/scripts/ganeshactl/CMakeLists.txt
b/src/scripts/ganeshactl/CMakeLists.txt
+index a6ba73ede..1339ccafe 100644
+--- a/src/scripts/ganeshactl/CMakeLists.txt
++++ b/src/scripts/ganeshactl/CMakeLists.txt
+@@ -137,19 +137,37 @@ if(Python3_FOUND)
+
+ configure_file(${SETUP_PY_IN} ${SETUP_PY})
+
+- add_custom_command(
+- OUTPUT ${OUTPUT}
+- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
+- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
+- DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
++ )
++ else()
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GANESHA_SRCS} ${UI_PY_FILES} ${SCRIPTS}
++ )
++ endif()
+
+ add_custom_target(python_ganeshactl ALL DEPENDS ${OUTPUT})
+
+- install(
+- CODE
+- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})"
++ )
++ else()
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR}
dist/ganeshactl-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
++ )
++ endif()
+ endif(Python3_FOUND)
+
+ # Man page
+diff --git a/src/scripts/gpfs-epoch/CMakeLists.txt
b/src/scripts/gpfs-epoch/CMakeLists.txt
+index af8035444..796a3a64e 100644
+--- a/src/scripts/gpfs-epoch/CMakeLists.txt
++++ b/src/scripts/gpfs-epoch/CMakeLists.txt
+@@ -56,19 +56,38 @@ if(USE_FSAL_GPFS)
+
+ configure_file(${SETUP_PY_IN} ${SETUP_PY})
+
+- add_custom_command(
+- OUTPUT ${OUTPUT}
+- COMMAND ${CMAKE_COMMAND} -E touch __init__.py
+- COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
+- COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
+- DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
+- )
++ if(USE_LEGACY_PYTHON_INSTALL)
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
++ COMMAND ${Python3_EXECUTABLE} "${SETUP_PY}" build
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
++ )
++ else()
++ add_custom_command(
++ OUTPUT ${OUTPUT}
++ COMMAND ${CMAKE_COMMAND} -E touch __init__.py
++ COMMAND ${Python3_EXECUTABLE} -m build --wheel --no-isolation .
++ COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
++ DEPENDS ${GPFS_EPOCH_SRCS} ${SCRIPTS}
++ )
++ endif()
+
+ add_custom_target(python_gpfs_epoch ALL DEPENDS ${OUTPUT})
+
+- install(
+- CODE
+- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND
${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}
--install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
+- )
++ if (USE_LEGACY_PYTHON_INSTALL)
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} ${SETUP_PY} install --skip-build --no-compile
--prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}
--install-scripts=\$ENV{DESTDIR}${LIBEXECDIR}/ganesha)"
++ )
++ else()
++ install(
++ CODE
++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++ COMMAND ${Python3_EXECUTABLE} -m installer --destdir \$ENV{DESTDIR}
dist/gpfs-${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}-py3-none-any.whl)"
++ )
++ endif()
+ endif(Python3_FOUND)
+ endif(USE_FSAL_GPFS)
diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec
index 7f4033d..8add67b 100644
--- a/nfs-ganesha.spec
+++ b/nfs-ganesha.spec
@@ -107,6 +107,9 @@ Requires: openSUSE-release
%bcond_with sanitize_address
%global use_sanitize_address %{on_off_switch sanitize_address}
+%bcond_with legacy_python_install
+%global use_legacy_python_install %{on_off_switch legacy_python_install}
+
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
%global _rundir %{_localstatedir}/run
%endif
@@ -123,7 +126,7 @@ Url:
https://github.com/nfs-ganesha/nfs-ganesha/wiki
Source0:
https://github.com/%{name}/%{name}/archive/V%{version}%{?dev:-%{dev}}/%{n...
Patch0001: 0001-config_samples-log_rotate.patch
-Patch0002: 0002-CMakeLists.txt.patch
+Patch0003: 0003-python-installer.patch
BuildRequires: cmake
BuildRequires: make
@@ -284,6 +287,11 @@ BuildRequires: python-devel
Requires: python3-gobject, python3-pyparsing
BuildRequires: python3-devel
BuildRequires: python3-setuptools
+%if ( ! 0%{?with_legacy_python_install} )
+BuildRequires: python3-wheel
+BuildRequires: python3-build
+BuildRequires: python3-installer
+%endif
%if ( 0%{?suse_version} )
Requires: dbus-1-python
%else
@@ -554,6 +562,7 @@ cd src && %cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-D_MSPAC_SUPPORT=%{use_mspac_support} \
-DUSE_MONITORING=%{use_monitoring_support} \
-DSANITIZE_ADDRESS=%{use_sanitize_address} \
+ -DUSE_LEGACY_PYTHON_INSTALL=%{use_legacy_python_install} \
-DUSE_MONITORING=ON \
%ifarch x86_64 aarch64
-DCMAKE_LINKER=%{_bindir}/ld.mold \
@@ -646,12 +655,23 @@ 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%{?with_legacy_python_install} )
+%if ( 0%{?with_gpfs} )
+mv %{buildroot}/usr/bin/gpfs-epoch %{buildroot}/usr/libexec/ganesha/
+%endif
+%endif
+
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
-rm -f %{buildroot}/%{python_sitelib}/gpfs*
+rm -rf %{buildroot}/%{python_sitelib}/gpfs*
rm -f %{buildroot}/%{python_sitelib}/__init__.*
%else
-rm -f %{buildroot}/%{python3_sitelib}/gpfs*
+rm -rf %{buildroot}/%{python3_sitelib}/gpfs*
+rm -rf %{buildroot}/%{python3_sitelib}/ganeshactl*
rm -f %{buildroot}/%{python3_sitelib}/__init__.*
+rm -rf %{buildroot}/%{python3_sitelib}/__pycache__
+rm -f %{buildroot}/%{python3_sitelib}/Ganesha/__init__.*
+rm -f %{buildroot}/%{python3_sitelib}/Ganesha/QtUI/__init__.*
+rm -rf %{buildroot}/%{python3_sitelib}/Ganesha/QtUI/__pycache__
%endif
%post
@@ -869,8 +889,6 @@ exit 0
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
%{python_sitelib}/Ganesha/*
%{python_sitelib}/ganeshactl-*-info
-%else
-%{python3_sitelib}/ganeshactl-*.egg
%endif
%if ( 0%{?with_gui_utils} )
%{_bindir}/ganesha-admin
@@ -878,6 +896,7 @@ exit 0
%{_bindir}/manage_exports
%{_bindir}/manage_logger
%{_bindir}/ganeshactl
+%{python3_sitelib}/Ganesha/*
%if ( 0%{?with_9P} )
%{_bindir}/client_stats_9pOps
%{_bindir}/export_stats_9pOps