From 06830c2e70391cfa57cb698a2007139e11c52525 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 22:57:27 +0000 Subject: [PATCH 001/116] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 91723e6..d113054 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -219,11 +219,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.3 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist}.1 %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.6 +Release: 0.@PACKAGE_RELEASE@%{?dist}.7 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1449,6 +1449,9 @@ exit 0 %endif %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 5.3-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jan 17 2019 Kaleb S. KEITHLEY - 5.3-1 - 5.3 GA From d03e52a05986170cfc56b777569a833c6b41e831 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 14 Feb 2019 08:51:53 -0500 Subject: [PATCH 002/116] Re-rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index d113054..01a2b82 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -219,7 +219,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.3 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist}.1 +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1449,6 +1449,9 @@ exit 0 %endif %changelog +* Thu Feb 14 2019 Kaleb S. KEITHLEY - 5.3-2 +- Re-rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Jan 31 2019 Fedora Release Engineering - 5.3-1.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From cc997d2c7a04349bf1c4d06edbf92ec6db737b81 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 17 Feb 2019 09:30:51 +0100 Subject: [PATCH 003/116] Rebuild for readline 8.0 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 01a2b82..4b4d919 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -219,11 +219,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.3 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist}.1 %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.7 +Release: 0.@PACKAGE_RELEASE@%{?dist}.8 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1449,6 +1449,9 @@ exit 0 %endif %changelog +* Sun Feb 17 2019 Igor Gnatenko - 5.3-2.1 +- Rebuild for readline 8.0 + * Thu Feb 14 2019 Kaleb S. KEITHLEY - 5.3-2 - Re-rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From d7bf19145a99c063f17588ce6dcf94871fce28e3 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 20 Feb 2019 09:55:11 -0500 Subject: [PATCH 004/116] rebuild for f31/rawhide Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 4b4d919..74a8fee 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -219,7 +219,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.3 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist}.1 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist}.1 %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1449,6 +1449,9 @@ exit 0 %endif %changelog +* Wed Feb 20 2019 Kaleb S. KEITHLEY - 5.3-1 +- rebuild for f31/rawhide + * Sun Feb 17 2019 Igor Gnatenko - 5.3-2.1 - Rebuild for readline 8.0 From 3bfdc85542b25e6fcff360b929829535b40f124a Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 20 Feb 2019 10:35:53 -0500 Subject: [PATCH 005/116] re-rebuild for f31/rawhide Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 74a8fee..f9c599a 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -219,7 +219,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.3 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist}.1 +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1449,6 +1449,9 @@ exit 0 %endif %changelog +* Wed Feb 20 2019 Kaleb S. KEITHLEY - 5.3-2 +- re-rebuild for f31/rawhide + * Wed Feb 20 2019 Kaleb S. KEITHLEY - 5.3-1 - rebuild for f31/rawhide From 188860a17f3da9f7eac6744008c9d214d48302f0 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 22 Feb 2019 11:38:52 -0500 Subject: [PATCH 006/116] 6.0 RC0 Signed-off-by: Kaleb S. KEITHLEY --- ...d-revert-shebangs-to-usr-bin-python3.patch | 78 +++++++++++ ...uster-__init__.-files-for-python-pac.patch | 102 ++++++++++++++ glusterfs.spec | 125 +++++++----------- sources | 2 +- 4 files changed, 227 insertions(+), 80 deletions(-) create mode 100644 0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch create mode 100644 0002-build-include-gluster-__init__.-files-for-python-pac.patch diff --git a/0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch b/0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch new file mode 100644 index 0000000..3398d49 --- /dev/null +++ b/0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch @@ -0,0 +1,78 @@ +From 5711508032b5f280c56eb983392b58ca66de6124 Mon Sep 17 00:00:00 2001 +From: "Kaleb S. KEITHLEY" +Date: Fri, 22 Feb 2019 09:25:26 -0500 +Subject: [PATCH] glusterfind: revert shebangs to #!/usr/bin/python3 + +Using #!/usr/bin/env python is illegal in Fedora and RHEL packaging. +(Debian and SUSE packaging will complain about it too but don't +enforce it like Fedora packaging does. Yet.) + +We went through a giant exercise fixing these once already. + +The python needs to be python2/python3 clean. There is a build +scriptlet that converts the shebangs back to /usr/bin/python on rhel7. + +Change-Id: If208a2557f7e5d727cda98c27905e249cf485d5b +updates: bz#1193929 +Signed-off-by: Kaleb S. KEITHLEY +--- + tools/glusterfind/glusterfind.in | 2 +- + tools/glusterfind/src/brickfind.py | 2 +- + tools/glusterfind/src/changelog.py | 2 +- + tools/glusterfind/src/main.py | 2 +- + tools/glusterfind/src/nodeagent.py | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/tools/glusterfind/glusterfind.in b/tools/glusterfind/glusterfind.in +index 569bf4121..ca154b625 100644 +--- a/tools/glusterfind/glusterfind.in ++++ b/tools/glusterfind/glusterfind.in +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + + # Copyright (c) 2015 Red Hat, Inc. + # This file is part of GlusterFS. +diff --git a/tools/glusterfind/src/brickfind.py b/tools/glusterfind/src/brickfind.py +index 1e72c00e5..73b635018 100644 +--- a/tools/glusterfind/src/brickfind.py ++++ b/tools/glusterfind/src/brickfind.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # -*- coding: utf-8 -*- + + # Copyright (c) 2015 Red Hat, Inc. +diff --git a/tools/glusterfind/src/changelog.py b/tools/glusterfind/src/changelog.py +index 62669e950..40c381b59 100644 +--- a/tools/glusterfind/src/changelog.py ++++ b/tools/glusterfind/src/changelog.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # -*- coding: utf-8 -*- + + # Copyright (c) 2015 Red Hat, Inc. +diff --git a/tools/glusterfind/src/main.py b/tools/glusterfind/src/main.py +index 1145fc1e2..cc5a86f27 100644 +--- a/tools/glusterfind/src/main.py ++++ b/tools/glusterfind/src/main.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # -*- coding: utf-8 -*- + + # Copyright (c) 2015 Red Hat, Inc. +diff --git a/tools/glusterfind/src/nodeagent.py b/tools/glusterfind/src/nodeagent.py +index 2ddc77aff..679daa6fa 100644 +--- a/tools/glusterfind/src/nodeagent.py ++++ b/tools/glusterfind/src/nodeagent.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/env python ++#!/usr/bin/python3 + # -*- coding: utf-8 -*- + + # Copyright (c) 2015 Red Hat, Inc. +-- +2.20.1 + diff --git a/0002-build-include-gluster-__init__.-files-for-python-pac.patch b/0002-build-include-gluster-__init__.-files-for-python-pac.patch new file mode 100644 index 0000000..35c5c52 --- /dev/null +++ b/0002-build-include-gluster-__init__.-files-for-python-pac.patch @@ -0,0 +1,102 @@ +From b235a56394c09bb1d7308a620053dbe098d15967 Mon Sep 17 00:00:00 2001 +From: Niels de Vos +Date: Fri, 22 Feb 2019 15:17:48 +0100 +Subject: [PATCH] build: include gluster/__init__.* files for python packaging + +The gluster/__init__.py file was originaly part of the glupy +installation. This file is required to have the python-gluster package +function correctly, it is expected to provide the 'gluster' namespace +for other python packages (like from the libgfapi-python project). + +Because glupy does not exist anymore, this file is now added to in a new +extras/python directory. + +Change-Id: I14fe959778ee3344d7d54ba342c7928a4d8080a2 +Fixes: c3fcff9ccbfcec1be242fd5cf210c9995586b078 +Fixes: 8293d21280fd6ddfc9bb54068cf87794fc6be207 +Updates: bz#1642810 +Signed-off-by: Niels de Vos +--- + configure.ac | 2 ++ + extras/Makefile.am | 2 +- + extras/python/Makefile.am | 7 +++++++ + extras/python/__init__.py | 2 ++ + glusterfs.spec.in | 3 +++ + 5 files changed, 15 insertions(+), 1 deletion(-) + create mode 100644 extras/python/Makefile.am + create mode 100644 extras/python/__init__.py + +diff --git a/configure.ac b/configure.ac +index 3aa7f4e77..e055e8c8f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -226,6 +226,7 @@ AC_CONFIG_FILES([Makefile + extras/hook-scripts/reset/Makefile + extras/hook-scripts/reset/post/Makefile + extras/hook-scripts/reset/pre/Makefile ++ extras/python/Makefile + extras/snap_scheduler/Makefile + events/Makefile + events/src/Makefile +@@ -630,6 +631,7 @@ AM_PATH_PYTHON([2.6],,[:]) + if test -n "${PYTHON}"; then + have_python=yes + fi ++AM_CONDITIONAL(HAVE_PYTHON, test "x$have_python" = "xyes") + + dnl Use pkg-config to get runtime search path missing from ${PYTHON}-config + dnl Just do "true" on failure so that configure does not bail out +diff --git a/extras/Makefile.am b/extras/Makefile.am +index cf4e9264b..de062f37e 100644 +--- a/extras/Makefile.am ++++ b/extras/Makefile.am +@@ -11,7 +11,7 @@ EditorModedir = $(docdir) + EditorMode_DATA = glusterfs-mode.el glusterfs.vim + + SUBDIRS = init.d systemd benchmarking hook-scripts $(OCF_SUBDIR) LinuxRPM \ +- $(GEOREP_EXTRAS_SUBDIR) snap_scheduler firewalld cliutils ++ $(GEOREP_EXTRAS_SUBDIR) snap_scheduler firewalld cliutils python + + confdir = $(sysconfdir)/glusterfs + if WITH_SERVER +diff --git a/extras/python/Makefile.am b/extras/python/Makefile.am +new file mode 100644 +index 000000000..7d81fa031 +--- /dev/null ++++ b/extras/python/Makefile.am +@@ -0,0 +1,7 @@ ++if HAVE_PYTHON ++# Install __init__.py into the Python site-packages area ++pypkgdir = @BUILD_PYTHON_SITE_PACKAGES@/gluster ++pypkg_PYTHON = __init__.py ++endif ++ ++EXTRA_DIST = __init__.py +diff --git a/extras/python/__init__.py b/extras/python/__init__.py +new file mode 100644 +index 000000000..3ad9513f4 +--- /dev/null ++++ b/extras/python/__init__.py +@@ -0,0 +1,2 @@ ++from pkgutil import extend_path ++__path__ = extend_path(__path__, __name__) +diff --git a/glusterfs.spec.in b/glusterfs.spec.in +index 45b671e33..205b51d4b 100644 +--- a/glusterfs.spec.in ++++ b/glusterfs.spec.in +@@ -1186,9 +1186,12 @@ exit 0 + # so that all other gluster submodules can reside in the same namespace. + %if ( %{_usepython3} ) + %dir %{python3_sitelib}/gluster ++ %{python3_sitelib}/gluster/__init__.* ++ %{python3_sitelib}/gluster/__pycache__ + %{python3_sitelib}/gluster/cliutils + %else + %dir %{python2_sitelib}/gluster ++ %{python2_sitelib}/gluster/__init__.* + %{python2_sitelib}/gluster/cliutils + %endif + +-- +2.20.1 + diff --git a/glusterfs.spec b/glusterfs.spec index f9c599a..062b85c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,7 +7,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -# %%global prereltag rc1 +%global prereltag rc0 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -115,6 +115,15 @@ %global _without_syslog --disable-syslog %endif +# tsan +# if you wish to compile an rpm with thread sanitizer... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with tsan +%{?_with_tsan:%global _with_tsan --enable-tsan} + +%if ( 0%{?rhel} && 0%{?rhel} < 7 ) +%global _with_tsan %{nil} +%endif + # valgrind # if you wish to compile an rpm to run all processes under valgrind... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with valgrind @@ -143,11 +152,10 @@ %global _without_events --disable-events %global _without_georeplication --disable-georeplication %global _with_gnfs %{nil} -%global _without_tiering --disable-tiering %global _without_ocf --without-ocf %endif -%if ( 0%{?fedora} && 0%{?fedora} > 26 ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) %global _usepython3 1 %global _pythonver 3 %else @@ -218,8 +226,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 5.3 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Version: 6.0 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -236,7 +244,8 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif - +Patch0001: 0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch +Patch0002: 0002-build-include-gluster-__init__.-files-for-python-pac.patch Requires(pre): shadow-utils %if ( 0%{?_with_systemd:1} ) @@ -250,6 +259,9 @@ Requires: %{name}-libs = %{version}-%{release} %if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: libasan %endif +%if 0%{?_with_tsan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) +BuildRequires: libtsan +%endif BuildRequires: bison flex BuildRequires: gcc make libtool BuildRequires: ncurses-devel readline-devel @@ -273,9 +285,6 @@ BuildRequires: libuuid-devel %if ( 0%{?_with_cmocka:1} ) BuildRequires: libcmocka-devel >= 1.0.1 %endif -%if ( 0%{!?_without_tiering:1} ) -BuildRequires: sqlite-devel -%endif %if ( 0%{!?_without_bd:1} ) BuildRequires: lvm2-devel %endif @@ -375,6 +384,21 @@ is in user space and easily manageable. This package provides the translators needed on any GlusterFS client. +%package cloudsync-plugins +Summary: Cloudsync Plugins +BuildRequires: libcurl-devel + +%description cloudsync-plugins +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over Infiniband RDMA +or TCP/IP interconnect into one large parallel network file +system. GlusterFS is one of the most sophisticated file systems in +terms of features and extensibility. It borrows a powerful concept +called Translators from GNU Hurd kernel. Much of the code in GlusterFS +is in user space and easily manageable. + +This package provides cloudsync plugins for archival feature. + %package devel Summary: Development Libraries Requires: %{name} = %{version}-%{release} @@ -467,21 +491,6 @@ is in user space and easily manageable. This package provides support to FUSE based clients and includes the glusterfsd and glusterfs binaries. -%package cloudsync-plugins -Summary: Cloudsync Plugins -BuildRequires: libcurl-devel - -%description cloudsync-plugins -GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. - -This package provides cloudsync plugins for archival feature. - %if ( 0%{!?_without_georeplication:1} ) %package geo-replication Summary: GlusterFS Geo-replication @@ -684,6 +693,8 @@ This package provides the glusterfs server daemon. %prep %setup -q -n %{name}-%{version}%{?prereltag} +%patch0001 -p1 +%patch0002 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -701,6 +712,7 @@ sed -i -e 's/--quiet//' configure.ac %{?_with_firewalld} \ %{?_with_gnfs} \ %{?_with_tmpfilesdir} \ + %{?_with_tsan} \ %{?_with_valgrind} \ %{?_without_bd} \ %{?_without_epoll} \ @@ -711,7 +723,6 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_rdma} \ %{?_without_server} \ %{?_without_syslog} \ - %{?_without_tiering} \ %{?_with_ipv6default} \ %{?_without_libtirpc} @@ -855,12 +866,6 @@ exit 0 exit 0 %endif -%if ( 0%{?rhel} == 5 ) -%post fuse -modprobe fuse -exit 0 -%endif - %if ( 0%{!?_without_georeplication:1} ) %post geo-replication if [ $1 -ge 1 ]; then @@ -1055,8 +1060,6 @@ exit 0 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/io-stats.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/sink.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/trace.so -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/crypt.so %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/access-control.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/barrier.so @@ -1117,50 +1120,23 @@ exit 0 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so +%files cloudsync-plugins +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins + %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsyncs3.so + %files devel %dir %{_includedir}/glusterfs %{_includedir}/glusterfs/* %exclude %{_includedir}/glusterfs/api %exclude %{_libdir}/libgfapi.so %{_libdir}/*.so -# Glupy Translator examples -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/debug-trace.* - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/helloworld.* - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/negative.* %{_libdir}/pkgconfig/libgfchangelog.pc -%if ( 0%{!?_without_tiering:1} ) -%{_libdir}/pkgconfig/libgfdb.pc -%endif %files extra-xlators -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13.so %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so -%if ( %{_usepython3} ) -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/__pycache__ - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/__pycache__/* -%endif %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground/template.so -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache.so -# Glupy Python files -%if ( %{_usepython3} ) -%dir %{python3_sitelib}/gluster -%dir %{python3_sitelib}/gluster/__pycache__ - %{python3_sitelib}/gluster/__pycache__/* -%dir %{python3_sitelib}/gluster/glupy - %{python3_sitelib}/gluster/glupy/* -%else -%dir %{python2_sitelib}/gluster -%dir %{python2_sitelib}/gluster/glupy - %{python2_sitelib}/gluster/glupy/* -%endif %files fuse # glusterfs is a symlink to glusterfsd, -server depends on -fuse. @@ -1174,10 +1150,6 @@ exit 0 %{_bindir}/fusermount-glusterfs %endif -%files cloudsync-plugins -%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins - %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsyncs3.so - %if ( 0%{?_with_gnfs:1} && 0%{!?_without_server:1} ) %files gnfs %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs @@ -1230,10 +1202,6 @@ exit 0 %{_libdir}/*.so.* %exclude %{_libdir}/libgfapi.* # libgfdb is only needed server-side -%if ( 0%{!?_without_tiering:1} ) -# libgfdb is only needed server-side -%exclude %{_libdir}/libgfdb.* -%endif %files -n python%{_pythonver}-gluster # introducing glusterfs module in site packages. @@ -1241,6 +1209,7 @@ exit 0 %if ( %{_usepython3} ) %dir %{python3_sitelib}/gluster %{python3_sitelib}/gluster/__init__.* + %{python3_sitelib}/gluster/__pycache__ %{python3_sitelib}/gluster/cliutils %else %dir %{python2_sitelib}/gluster @@ -1312,10 +1281,6 @@ exit 0 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/sdfs.so -%if ( 0%{!?_without_tiering:1} ) - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so - %{_libdir}/libgfdb.so.* -%endif %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* @@ -1331,9 +1296,6 @@ exit 0 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server.so %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage -%if ( 0%{!?_without_bd:1} ) - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage/bd.so -%endif %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage/posix.so %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/decompounder.so @@ -1353,6 +1315,8 @@ exit 0 %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/gluster-block %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/nl-cache %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/db-workload + %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/distributed-virt + %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/samba %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd @@ -1449,6 +1413,9 @@ exit 0 %endif %changelog +* Fri Feb 22 2019 Kaleb S. KEITHLEY - 6.0rc0-0.1 +- 6.0 RC0 + * Wed Feb 20 2019 Kaleb S. KEITHLEY - 5.3-2 - re-rebuild for f31/rawhide diff --git a/sources b/sources index db028a9..a03c843 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-5.3.tar.gz) = 8b5405dbbfcc57ece25ac5934c1d63e9a1f8936bcf6d53ebfdca5c144e963550d99bdee667b7ed7b06c608ddfbf40b5738e9c15b17a11362c8478b02a7e0e15f +SHA512 (glusterfs-6.0rc0.tar.gz) = 637a73c59ecbad4c4ab2db5af10f1e2dd6ed4a566ab58a6f5641c50a85962a411b46b73e45e0d59cb2c4136e9b3c86e92ff0119991ed9fadbb2789dde3e21ce2 From b598b104d5b3104ef11779a5320ad05809b3bd46 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 1 Mar 2019 09:01:38 -0500 Subject: [PATCH 007/116] 6.0 RC0, s390x, armv7hl no rdma Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 062b85c..c5ffbc1 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -92,6 +92,11 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma %{?_without_rdma:%global _without_rdma --disable-ibverbs} +# No RDMA Support on s390(x) +%ifarch s390 s390x armv7hl +%global _without_rdma --disable-ibverbs +%endif + # server # if you wish to build rpms without server components, compile like this # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without server @@ -227,7 +232,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.0 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1413,6 +1418,9 @@ exit 0 %endif %changelog +* Fri Mar 1 2019 Kaleb S. KEITHLEY - 6.0rc0-0.2 +- 6.0 RC0, s390x, armv7hl no rdma + * Fri Feb 22 2019 Kaleb S. KEITHLEY - 6.0rc0-0.1 - 6.0 RC0 From c09fc157b924820904f7537f736940e050f941c5 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 6 Mar 2019 08:08:50 -0500 Subject: [PATCH 008/116] 6.0 RC0 restore s390x rdma remove obsolete scripts from https://src.fedoraproject.org/rpms/glusterfs/pull-request/5 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index c5ffbc1..60cc48d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -92,8 +92,8 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma %{?_without_rdma:%global _without_rdma --disable-ibverbs} -# No RDMA Support on s390(x) -%ifarch s390 s390x armv7hl +# No RDMA Support on armv7hl +%ifarch armv7hl %global _without_rdma --disable-ibverbs %endif @@ -232,7 +232,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.0 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1004,7 +1004,6 @@ exit 0 ## All %%postun should be placed here and keep them sorted ## %postun -/sbin/ldconfig %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} ) %systemd_postun_with_restart rsyslog @@ -1012,17 +1011,8 @@ exit 0 %endif exit 0 -%postun api -/sbin/ldconfig -exit 0 - -%postun libs -/sbin/ldconfig -exit 0 - %if ( 0%{!?_without_server:1} ) %postun server -/sbin/ldconfig %if (0%{?_with_firewalld:1}) %firewalld_reload %endif @@ -1418,6 +1408,12 @@ exit 0 %endif %changelog +* Wed Mar 6 2019 Kaleb S. KEITHLEY - 6.0rc0-0.3 +- 6.0 RC0 +- restore s390x rdma +- remove obsolete scripts from +- https://src.fedoraproject.org/rpms/glusterfs/pull-request/5 + * Fri Mar 1 2019 Kaleb S. KEITHLEY - 6.0rc0-0.2 - 6.0 RC0, s390x, armv7hl no rdma From b59e6efcf21a7fe07460e7a4d585684e898309a6 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 13 Mar 2019 08:14:52 -0400 Subject: [PATCH 009/116] 6.0 RC1 Signed-off-by: Kaleb S. KEITHLEY --- ...d-revert-shebangs-to-usr-bin-python3.patch | 78 -------------- ...uster-__init__.-files-for-python-pac.patch | 102 ------------------ glusterfs.spec | 75 ++++++++++--- sources | 2 +- 4 files changed, 61 insertions(+), 196 deletions(-) delete mode 100644 0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch delete mode 100644 0002-build-include-gluster-__init__.-files-for-python-pac.patch diff --git a/0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch b/0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch deleted file mode 100644 index 3398d49..0000000 --- a/0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 5711508032b5f280c56eb983392b58ca66de6124 Mon Sep 17 00:00:00 2001 -From: "Kaleb S. KEITHLEY" -Date: Fri, 22 Feb 2019 09:25:26 -0500 -Subject: [PATCH] glusterfind: revert shebangs to #!/usr/bin/python3 - -Using #!/usr/bin/env python is illegal in Fedora and RHEL packaging. -(Debian and SUSE packaging will complain about it too but don't -enforce it like Fedora packaging does. Yet.) - -We went through a giant exercise fixing these once already. - -The python needs to be python2/python3 clean. There is a build -scriptlet that converts the shebangs back to /usr/bin/python on rhel7. - -Change-Id: If208a2557f7e5d727cda98c27905e249cf485d5b -updates: bz#1193929 -Signed-off-by: Kaleb S. KEITHLEY ---- - tools/glusterfind/glusterfind.in | 2 +- - tools/glusterfind/src/brickfind.py | 2 +- - tools/glusterfind/src/changelog.py | 2 +- - tools/glusterfind/src/main.py | 2 +- - tools/glusterfind/src/nodeagent.py | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/tools/glusterfind/glusterfind.in b/tools/glusterfind/glusterfind.in -index 569bf4121..ca154b625 100644 ---- a/tools/glusterfind/glusterfind.in -+++ b/tools/glusterfind/glusterfind.in -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - - # Copyright (c) 2015 Red Hat, Inc. - # This file is part of GlusterFS. -diff --git a/tools/glusterfind/src/brickfind.py b/tools/glusterfind/src/brickfind.py -index 1e72c00e5..73b635018 100644 ---- a/tools/glusterfind/src/brickfind.py -+++ b/tools/glusterfind/src/brickfind.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # -*- coding: utf-8 -*- - - # Copyright (c) 2015 Red Hat, Inc. -diff --git a/tools/glusterfind/src/changelog.py b/tools/glusterfind/src/changelog.py -index 62669e950..40c381b59 100644 ---- a/tools/glusterfind/src/changelog.py -+++ b/tools/glusterfind/src/changelog.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # -*- coding: utf-8 -*- - - # Copyright (c) 2015 Red Hat, Inc. -diff --git a/tools/glusterfind/src/main.py b/tools/glusterfind/src/main.py -index 1145fc1e2..cc5a86f27 100644 ---- a/tools/glusterfind/src/main.py -+++ b/tools/glusterfind/src/main.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # -*- coding: utf-8 -*- - - # Copyright (c) 2015 Red Hat, Inc. -diff --git a/tools/glusterfind/src/nodeagent.py b/tools/glusterfind/src/nodeagent.py -index 2ddc77aff..679daa6fa 100644 ---- a/tools/glusterfind/src/nodeagent.py -+++ b/tools/glusterfind/src/nodeagent.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/python3 - # -*- coding: utf-8 -*- - - # Copyright (c) 2015 Red Hat, Inc. --- -2.20.1 - diff --git a/0002-build-include-gluster-__init__.-files-for-python-pac.patch b/0002-build-include-gluster-__init__.-files-for-python-pac.patch deleted file mode 100644 index 35c5c52..0000000 --- a/0002-build-include-gluster-__init__.-files-for-python-pac.patch +++ /dev/null @@ -1,102 +0,0 @@ -From b235a56394c09bb1d7308a620053dbe098d15967 Mon Sep 17 00:00:00 2001 -From: Niels de Vos -Date: Fri, 22 Feb 2019 15:17:48 +0100 -Subject: [PATCH] build: include gluster/__init__.* files for python packaging - -The gluster/__init__.py file was originaly part of the glupy -installation. This file is required to have the python-gluster package -function correctly, it is expected to provide the 'gluster' namespace -for other python packages (like from the libgfapi-python project). - -Because glupy does not exist anymore, this file is now added to in a new -extras/python directory. - -Change-Id: I14fe959778ee3344d7d54ba342c7928a4d8080a2 -Fixes: c3fcff9ccbfcec1be242fd5cf210c9995586b078 -Fixes: 8293d21280fd6ddfc9bb54068cf87794fc6be207 -Updates: bz#1642810 -Signed-off-by: Niels de Vos ---- - configure.ac | 2 ++ - extras/Makefile.am | 2 +- - extras/python/Makefile.am | 7 +++++++ - extras/python/__init__.py | 2 ++ - glusterfs.spec.in | 3 +++ - 5 files changed, 15 insertions(+), 1 deletion(-) - create mode 100644 extras/python/Makefile.am - create mode 100644 extras/python/__init__.py - -diff --git a/configure.ac b/configure.ac -index 3aa7f4e77..e055e8c8f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -226,6 +226,7 @@ AC_CONFIG_FILES([Makefile - extras/hook-scripts/reset/Makefile - extras/hook-scripts/reset/post/Makefile - extras/hook-scripts/reset/pre/Makefile -+ extras/python/Makefile - extras/snap_scheduler/Makefile - events/Makefile - events/src/Makefile -@@ -630,6 +631,7 @@ AM_PATH_PYTHON([2.6],,[:]) - if test -n "${PYTHON}"; then - have_python=yes - fi -+AM_CONDITIONAL(HAVE_PYTHON, test "x$have_python" = "xyes") - - dnl Use pkg-config to get runtime search path missing from ${PYTHON}-config - dnl Just do "true" on failure so that configure does not bail out -diff --git a/extras/Makefile.am b/extras/Makefile.am -index cf4e9264b..de062f37e 100644 ---- a/extras/Makefile.am -+++ b/extras/Makefile.am -@@ -11,7 +11,7 @@ EditorModedir = $(docdir) - EditorMode_DATA = glusterfs-mode.el glusterfs.vim - - SUBDIRS = init.d systemd benchmarking hook-scripts $(OCF_SUBDIR) LinuxRPM \ -- $(GEOREP_EXTRAS_SUBDIR) snap_scheduler firewalld cliutils -+ $(GEOREP_EXTRAS_SUBDIR) snap_scheduler firewalld cliutils python - - confdir = $(sysconfdir)/glusterfs - if WITH_SERVER -diff --git a/extras/python/Makefile.am b/extras/python/Makefile.am -new file mode 100644 -index 000000000..7d81fa031 ---- /dev/null -+++ b/extras/python/Makefile.am -@@ -0,0 +1,7 @@ -+if HAVE_PYTHON -+# Install __init__.py into the Python site-packages area -+pypkgdir = @BUILD_PYTHON_SITE_PACKAGES@/gluster -+pypkg_PYTHON = __init__.py -+endif -+ -+EXTRA_DIST = __init__.py -diff --git a/extras/python/__init__.py b/extras/python/__init__.py -new file mode 100644 -index 000000000..3ad9513f4 ---- /dev/null -+++ b/extras/python/__init__.py -@@ -0,0 +1,2 @@ -+from pkgutil import extend_path -+__path__ = extend_path(__path__, __name__) -diff --git a/glusterfs.spec.in b/glusterfs.spec.in -index 45b671e33..205b51d4b 100644 ---- a/glusterfs.spec.in -+++ b/glusterfs.spec.in -@@ -1186,9 +1186,12 @@ exit 0 - # so that all other gluster submodules can reside in the same namespace. - %if ( %{_usepython3} ) - %dir %{python3_sitelib}/gluster -+ %{python3_sitelib}/gluster/__init__.* -+ %{python3_sitelib}/gluster/__pycache__ - %{python3_sitelib}/gluster/cliutils - %else - %dir %{python2_sitelib}/gluster -+ %{python2_sitelib}/gluster/__init__.* - %{python2_sitelib}/gluster/cliutils - %endif - --- -2.20.1 - diff --git a/glusterfs.spec b/glusterfs.spec index 60cc48d..4c15b25 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,7 +7,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -%global prereltag rc0 +%global prereltag rc1 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -185,6 +185,7 @@ # can't seem to make a generic macro that works %global glusterd_svcfile %{_unitdir}/glusterd.service %global glusterfsd_svcfile %{_unitdir}/glusterfsd.service +%global glusterta_svcfile %{_unitdir}/gluster-ta-volume.service %global glustereventsd_svcfile %{_unitdir}/glustereventsd.service %global glusterfssharedstorage_svcfile %{_unitdir}/glusterfssharedstorage.service %else @@ -232,7 +233,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.0 -Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}4%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -249,8 +250,6 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif -Patch0001: 0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch -Patch0002: 0002-build-include-gluster-__init__.-files-for-python-pac.patch Requires(pre): shadow-utils %if ( 0%{?_with_systemd:1} ) @@ -261,6 +260,8 @@ Requires: %{name}-libs = %{version}-%{release} %if ( 0%{?_with_systemd:1} ) %{?systemd_requires} %endif +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig %if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: libasan %endif @@ -308,6 +309,9 @@ Obsoletes: %{name}-core < %{version}-%{release} Obsoletes: %{name}-regression-tests %endif Obsoletes: %{name}-ufo +%if ( 0%{!?_with_gnfs:1} ) +Obsoletes: %{name}-gnfs +%endif Obsoletes: %{name}-ganesha Provides: %{name}-common = %{version}-%{release} Provides: %{name}-core = %{version}-%{release} @@ -329,6 +333,8 @@ and client framework. Summary: GlusterFS api library Requires: %{name} = %{version}-%{release} Requires: %{name}-client-xlators = %{version}-%{release} +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig %description api GlusterFS is a distributed file-system capable of scaling to several @@ -539,6 +545,8 @@ This package provides the glusterfs legacy gNFS server xlator %package libs Summary: GlusterFS common libraries +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig %description libs GlusterFS is a distributed file-system capable of scaling to several @@ -658,6 +666,8 @@ Requires(preun): /sbin/service Requires(preun): /sbin/chkconfig Requires(postun): /sbin/service %endif +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig %if (0%{?_with_firewalld:1}) # we install firewalld rules, so we need to have the directory owned %if ( 0%{!?rhel} ) @@ -695,11 +705,20 @@ is in user space and easily manageable. This package provides the glusterfs server daemon. %endif +%package thin-arbiter +Summary: GlusterFS thin-arbiter module +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} + +%description thin-arbiter +This package provides a tie-breaker functionality to GlusterFS +replicate volume. It includes translators required to provide the +functionality, and also few other scripts required for setup. + +This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?prereltag} -%patch0001 -p1 -%patch0002 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -747,6 +766,7 @@ make check %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} +%if ( 0%{!?_without_server:1} ) %if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{!?_without_server:1} ) install -D -p -m 0644 %{SOURCE1} \ @@ -755,7 +775,6 @@ install -D -p -m 0644 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd %endif %else -%if ( 0%{!?_without_server:1} ) install -D -p -m 0644 extras/glusterd-sysconfig \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd %endif @@ -855,7 +874,7 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ ## All %%post should be placed here and keep them sorted ## %post -/sbin/ldconfig +%{?ldconfig} %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} ) %systemd_postun_with_restart rsyslog @@ -863,7 +882,8 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ %endif exit 0 -%post api -p /sbin/ldconfig +# post and postun scriptlets for api +%ldconfig_scriptlets api %if ( 0%{!?_without_events:1} ) %post events @@ -879,9 +899,8 @@ fi exit 0 %endif -%post libs -/sbin/ldconfig -exit 0 +# post and postun scriptlets for libs +%ldconfig_scriptlets libs %if ( 0%{!?_without_server:1} ) %post server @@ -1000,10 +1019,19 @@ fi exit 0 %endif +%preun thin-arbiter +if [ $1 -eq 0 ]; then + if [ -f %glusterta_svcfile ]; then + %service_stop gluster-ta-volume + %systemd_preun gluster-ta-volume + fi +fi + ##----------------------------------------------------------------------------- ## All %%postun should be placed here and keep them sorted ## %postun +%{?ldconfig} %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} ) %systemd_postun_with_restart rsyslog @@ -1013,6 +1041,7 @@ exit 0 %if ( 0%{!?_without_server:1} ) %postun server +%{?ldconfig} %if (0%{?_with_firewalld:1}) %firewalld_reload %endif @@ -1155,6 +1184,19 @@ exit 0 %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid %endif +%files thin-arbiter +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/thin-arbiter.so +%dir %{_datadir}/glusterfs/scripts + %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh +%config %{_sysconfdir}/glusterfs/thin-arbiter.vol + +%if ( 0%{?_with_systemd:1} ) +%{_unitdir}/gluster-ta-volume.service +%endif + + %if ( 0%{!?_without_georeplication:1} ) %files geo-replication %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep @@ -1238,6 +1280,7 @@ exit 0 %doc extras/clear_xattrs.sh # sysconf %config(noreplace) %{_sysconfdir}/glusterfs +%exclude %{_sysconfdir}/glusterfs/thin-arbiter.vol %exclude %{_sysconfdir}/glusterfs/eventsconfig.json %exclude %{_sharedstatedir}/glusterd/nfs/nfs-server.vol %exclude %{_sharedstatedir}/glusterd/nfs/run/nfs.pid @@ -1272,7 +1315,6 @@ exit 0 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/thin-arbiter.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/sdfs.so @@ -1394,8 +1436,8 @@ exit 0 %dir %{_sharedstatedir}/glusterd %dir %{_sharedstatedir}/glusterd/events %dir %{_libexecdir}/glusterfs -%dir %{_libexecdir}/glusterfs/events - %{_libexecdir}/glusterfs/events/* +%dir %{_libexecdir}/glusterfs/gfevents + %{_libexecdir}/glusterfs/gfevents/* %{_libexecdir}/glusterfs/peer_eventsapi.py* %{_sbindir}/glustereventsd %{_sbindir}/gluster-eventsapi @@ -1408,6 +1450,9 @@ exit 0 %endif %changelog +* Wed Mar 13 2019 Kaleb S. KEITHLEY - 6.0rc1-0.4 +- 6.0 RC1 + * Wed Mar 6 2019 Kaleb S. KEITHLEY - 6.0rc0-0.3 - 6.0 RC0 - restore s390x rdma diff --git a/sources b/sources index a03c843..94adb60 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-6.0rc0.tar.gz) = 637a73c59ecbad4c4ab2db5af10f1e2dd6ed4a566ab58a6f5641c50a85962a411b46b73e45e0d59cb2c4136e9b3c86e92ff0119991ed9fadbb2789dde3e21ce2 +SHA512 (glusterfs-6.0rc1.tar.gz) = 3f8c8d922a7bc64dfba03719e7fde3923166e2795baa1d8fedc443a3f42b67ba69d14caa658ec00e6adc56865b8119dfbba521e5268f20012ef3dc3705d67b35 From 110a05d88bdd426c7df00677fbe1cbbe7fff9673 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 20 Mar 2019 00:03:09 -0400 Subject: [PATCH 010/116] 6.0 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 4c15b25..d7e7256 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,7 +7,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -%global prereltag rc1 +# %%global prereltag rc1 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -233,7 +233,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.0 -Release: %{?prereltag:0.}4%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1450,6 +1450,9 @@ exit 0 %endif %changelog +* Wed Mar 20 2019 Kaleb S. KEITHLEY - 6.0-1 +- 6.0 GA + * Wed Mar 13 2019 Kaleb S. KEITHLEY - 6.0rc1-0.4 - 6.0 RC1 diff --git a/sources b/sources index 94adb60..dcf42ed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-6.0rc1.tar.gz) = 3f8c8d922a7bc64dfba03719e7fde3923166e2795baa1d8fedc443a3f42b67ba69d14caa658ec00e6adc56865b8119dfbba521e5268f20012ef3dc3705d67b35 +SHA512 (glusterfs-6.0.tar.gz) = fc4f4ee75b3936469b7c4be146545eb88d2cf3583d5f101bcacb2805c842aa95f69d1c023dee4dac32ebe01cdc9ede4814f9364482e8815e451e43660e6c74b9 From 67c0a3bce49ae07268096eeb041b7c0a729e846d Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 18 Apr 2019 06:59:08 -0400 Subject: [PATCH 011/116] 6.1 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 51 ++++---------------------------------------------- sources | 2 +- 2 files changed, 5 insertions(+), 48 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index d7e7256..8cedab9 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -138,10 +138,6 @@ ## All %%global definitions should be placed here and keep them sorted ## -%if ( 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) -%global _with_systemd true -%endif - %if ( 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %global _with_firewalld --enable-firewalld %endif @@ -175,7 +171,6 @@ %global _rundir %{_localstatedir}/run %endif -%if ( 0%{?_with_systemd:1} ) %global service_start() /bin/systemctl --quiet start %1.service || : \ %{nil} %global service_stop() /bin/systemctl --quiet stop %1.service || :\ @@ -188,24 +183,6 @@ %global glusterta_svcfile %{_unitdir}/gluster-ta-volume.service %global glustereventsd_svcfile %{_unitdir}/glustereventsd.service %global glusterfssharedstorage_svcfile %{_unitdir}/glusterfssharedstorage.service -%else -%global systemd_post() /sbin/chkconfig --add %1 >/dev/null 2>&1 || : \ -%{nil} -%global systemd_preun() /sbin/chkconfig --del %1 >/dev/null 2>&1 || : \ -%{nil} -%global systemd_postun_with_restart() /sbin/service %1 condrestart >/dev/null 2>&1 || : \ -%{nil} -%global service_start() /sbin/service %1 start >/dev/null 2>&1 || : \ -%{nil} -%global service_stop() /sbin/service %1 stop >/dev/null 2>&1 || : \ -%{nil} -%global service_install() install -D -p -m 0755 %{_sourcedir}/%1.init %{buildroot}%2 \ -%{nil} -# can't seem to make a generic macro that works -%global glusterd_svcfile %{_sysconfdir}/init.d/glusterd -%global glusterfsd_svcfile %{_sysconfdir}/init.d/glusterfsd -%global glustereventsd_svcfile %{_sysconfdir}/init.d/glustereventsd -%endif %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} @@ -232,7 +209,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 6.0 +Version: 6.1 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -252,14 +229,10 @@ Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif Requires(pre): shadow-utils -%if ( 0%{?_with_systemd:1} ) BuildRequires: systemd -%endif Requires: %{name}-libs = %{version}-%{release} -%if ( 0%{?_with_systemd:1} ) %{?systemd_requires} -%endif Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig %if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) @@ -443,9 +416,7 @@ Requires: python%{_pythonver}-requests %if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse %endif -%if ( 0%{?_with_systemd:1} ) %{?systemd_requires} -%endif %description events GlusterFS is a distributed file-system capable of scaling to several @@ -658,14 +629,7 @@ Requires: %{name}-client-xlators = %{version}-%{release} # lvm2 for snapshot, and nfs-utils and rpcbind/portmap for gnfs server Requires: psmisc Requires: lvm2 -%if ( 0%{?_with_systemd:1} ) %{?systemd_requires} -%else -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/service -Requires(preun): /sbin/chkconfig -Requires(postun): /sbin/service -%endif Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig %if (0%{?_with_firewalld:1}) @@ -1192,9 +1156,7 @@ exit 0 %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh %config %{_sysconfdir}/glusterfs/thin-arbiter.vol -%if ( 0%{?_with_systemd:1} ) %{_unitdir}/gluster-ta-volume.service -%endif %if ( 0%{!?_without_georeplication:1} ) @@ -1297,9 +1259,7 @@ exit 0 %if ( 0%{_for_fedora_koji_builds} ) %glusterfsd_svcfile %endif -%if ( 0%{?_with_systemd:1} ) %glusterfssharedstorage_svcfile -%endif # binaries %{_sbindir}/glusterd @@ -1410,11 +1370,9 @@ exit 0 %dir %{_datadir}/glusterfs %dir %{_datadir}/glusterfs/scripts %{_datadir}/glusterfs/scripts/stop-all-gluster-processes.sh -%if ( 0%{?_with_systemd:1} ) %{_libexecdir}/glusterfs/mount-shared-storage.sh %{_datadir}/glusterfs/scripts/control-cpu-load.sh %{_datadir}/glusterfs/scripts/control-mem.sh -%endif # Incrementalapi %dir %{_libexecdir}/glusterfs @@ -1442,14 +1400,13 @@ exit 0 %{_sbindir}/glustereventsd %{_sbindir}/gluster-eventsapi %{_datadir}/glusterfs/scripts/eventsdash.py* -%if ( 0%{?_with_systemd:1} ) %{_unitdir}/glustereventsd.service -%else -%{_sysconfdir}/init.d/glustereventsd -%endif %endif %changelog +* Wed Apr 17 2019 Kaleb S. KEITHLEY - 6.1-1 +- 6.1 GA + * Wed Mar 20 2019 Kaleb S. KEITHLEY - 6.0-1 - 6.0 GA diff --git a/sources b/sources index dcf42ed..c9b192d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-6.0.tar.gz) = fc4f4ee75b3936469b7c4be146545eb88d2cf3583d5f101bcacb2805c842aa95f69d1c023dee4dac32ebe01cdc9ede4814f9364482e8815e451e43660e6c74b9 +SHA512 (glusterfs-6.1.tar.gz) = 53f4195ecb565a8dcc0d66e74d07dd7334e3c8b1cc1671517612be32a00e9e9bbfb5e983955c4f116b25f7df990bcd1c05bbd3d0b740e9f8c76a16b9b16bec00 From ce08bc220126c5ae6b3f49dc5a6907828ff001d4 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 22 Apr 2019 11:02:16 -0400 Subject: [PATCH 012/116] 6.1 GA, glusterfs-thin-arbiter Requires: glusterfs-libs Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8cedab9..78ad29d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -210,7 +210,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.1 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -672,6 +672,7 @@ This package provides the glusterfs server daemon. %package thin-arbiter Summary: GlusterFS thin-arbiter module Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} %description thin-arbiter @@ -1404,6 +1405,9 @@ exit 0 %endif %changelog +* Mon Apr 22 2019 Kaleb S. KEITHLEY - 6.1-2 +- 6.1 GA, glusterfs-thin-arbiter Requires: glusterfs-libs + * Wed Apr 17 2019 Kaleb S. KEITHLEY - 6.1-1 - 6.1 GA From 57717b9df96cf07ee76590e8d91f92ab6dea316f Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 24 May 2019 09:06:51 -0400 Subject: [PATCH 013/116] 6.2 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 78ad29d..48a09e7 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -209,8 +209,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 6.1 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Version: 6.2 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1405,6 +1405,9 @@ exit 0 %endif %changelog +* Fri May 24 2019 Kaleb S. KEITHLEY - 6.2-1 +- 6.2 GA + * Mon Apr 22 2019 Kaleb S. KEITHLEY - 6.1-2 - 6.1 GA, glusterfs-thin-arbiter Requires: glusterfs-libs diff --git a/sources b/sources index c9b192d..f982f7e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-6.1.tar.gz) = 53f4195ecb565a8dcc0d66e74d07dd7334e3c8b1cc1671517612be32a00e9e9bbfb5e983955c4f116b25f7df990bcd1c05bbd3d0b740e9f8c76a16b9b16bec00 +SHA512 (glusterfs-6.2.tar.gz) = 4773d5d23deb933ec3cf14d1efa086125946a35284d86cfcd12b26cb4c9602b01fa529c44e7b43c8730ba3f20539cb50fe200e9a505e5f7f418cd651422f85dc From 0e7456ecf40b96d98255c707fdf98c5bcee73d09 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 11 Jun 2019 09:59:15 -0400 Subject: [PATCH 014/116] 6.3 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 48a09e7..29c61eb 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -209,7 +209,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 6.2 +Version: 6.3 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1405,6 +1405,9 @@ exit 0 %endif %changelog +* Tue Jun 11 2019 Kaleb S. KEITHLEY - 6.3-1 +- 6.3 GA + * Fri May 24 2019 Kaleb S. KEITHLEY - 6.2-1 - 6.2 GA diff --git a/sources b/sources index f982f7e..f8a0a6a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-6.2.tar.gz) = 4773d5d23deb933ec3cf14d1efa086125946a35284d86cfcd12b26cb4c9602b01fa529c44e7b43c8730ba3f20539cb50fe200e9a505e5f7f418cd651422f85dc +SHA512 (glusterfs-6.3.tar.gz) = 1e9a1b86c40afb774249149200e075b7ee41ea38be9ffcd1b040ca715d8586a64020f4ba19534bb1a4653dc3e8d7ebdca283619bc01c324fc0899e594dcd19a6 From 8df5809743f104715e3fcb974ae57fccbb1c5a8d Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 17 Jul 2019 08:00:45 -0400 Subject: [PATCH 015/116] 6.4 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 6 +++++- sources | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 29c61eb..a0ea8e8 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -209,7 +209,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 6.3 +Version: 6.4 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1323,6 +1323,7 @@ exit 0 %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/disabled-quota-root-xattr-heal.sh + %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/S10selinux-label-brick.sh %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/S13create-subdir-mounts.sh %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh @@ -1405,6 +1406,9 @@ exit 0 %endif %changelog +* Wed Jul 17 2019 Kaleb S. KEITHLEY - 6.4-1 +- 6.4 GA + * Tue Jun 11 2019 Kaleb S. KEITHLEY - 6.3-1 - 6.3 GA diff --git a/sources b/sources index f8a0a6a..b51f5a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-6.3.tar.gz) = 1e9a1b86c40afb774249149200e075b7ee41ea38be9ffcd1b040ca715d8586a64020f4ba19534bb1a4653dc3e8d7ebdca283619bc01c324fc0899e594dcd19a6 +SHA512 (glusterfs-6.4.tar.gz) = 17dd8a61991c9e7eea75fdba8aa9d560f3d556869e3e04704d29821c5be9034bb0761697d51fb54a0777d8c48bb9f846fd8e1b69c68fea0a4e39f0902b0c6635 From face7bb1d821ba8a4cba1a5ff673c5a690718d66 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 25 Jul 2019 03:58:18 +0000 Subject: [PATCH 016/116] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index a0ea8e8..0f92b17 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -210,11 +210,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.4 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist}.1 %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.8 +Release: 0.@PACKAGE_RELEASE@%{?dist}.9 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1406,6 +1406,9 @@ exit 0 %endif %changelog +* Thu Jul 25 2019 Fedora Release Engineering - 6.4-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Wed Jul 17 2019 Kaleb S. KEITHLEY - 6.4-1 - 6.4 GA From f2eb7b64033df6627c94b7cdb53ff06a8e4266ab Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 1 Aug 2019 07:25:27 -0400 Subject: [PATCH 017/116] temporarily exclude i686 pending firewalld resolution Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 0f92b17..a84ed79 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -210,7 +210,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.4 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist}.1 +Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -218,6 +218,11 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.9 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ +# temporary Exclude i686 until firewalld issue is resolved +# https://bugzilla.redhat.com/show_bug.cgi?id=1734866 +# https://bugzilla.redhat.com/show_bug.cgi?id=1735397 +# https://bugzilla.redhat.com/show_bug.cgi?id=1733602 +ExcludeArch: i686 %if ( 0%{_for_fedora_koji_builds} ) Source0: http://download.gluster.org/pub/gluster/%{name}/4.1/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig @@ -1406,6 +1411,9 @@ exit 0 %endif %changelog +* Thu Aug 1 2019 Kaleb S. KEITHLEY - 6.4-2 +- temporarily exclude i686 pending firewalld resolution + * Thu Jul 25 2019 Fedora Release Engineering - 6.4-1.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 334e4ddc879144a738237bed0d630d273342571b Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 1 Aug 2019 15:31:45 -0400 Subject: [PATCH 018/116] restore i686 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index a84ed79..e28da2d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -210,7 +210,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.4 -Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:1.}3%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -218,11 +218,6 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.9 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ -# temporary Exclude i686 until firewalld issue is resolved -# https://bugzilla.redhat.com/show_bug.cgi?id=1734866 -# https://bugzilla.redhat.com/show_bug.cgi?id=1735397 -# https://bugzilla.redhat.com/show_bug.cgi?id=1733602 -ExcludeArch: i686 %if ( 0%{_for_fedora_koji_builds} ) Source0: http://download.gluster.org/pub/gluster/%{name}/4.1/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig @@ -1411,6 +1406,9 @@ exit 0 %endif %changelog +* Thu Aug 1 2019 Kaleb S. KEITHLEY - 6.4-3 +- restore i686 + * Thu Aug 1 2019 Kaleb S. KEITHLEY - 6.4-2 - temporarily exclude i686 pending firewalld resolution From 365e930bba6235ef38ffebb3d6df7af123444be8 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 7 Aug 2019 08:06:10 -0400 Subject: [PATCH 019/116] 6.5 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 10 ++++++++-- sources | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index e28da2d..7ef5065 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -209,8 +209,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 6.4 -Release: %{?prereltag:1.}3%{?prereltag:.%{prereltag}}%{?dist} +Version: 6.5 +Release: %{?prereltag:1.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1406,6 +1406,9 @@ exit 0 %endif %changelog +* Wed Aug 7 2019 Kaleb S. KEITHLEY - 6.5-1 +- 6.5 GA + * Thu Aug 1 2019 Kaleb S. KEITHLEY - 6.4-3 - restore i686 @@ -1418,6 +1421,9 @@ exit 0 * Wed Jul 17 2019 Kaleb S. KEITHLEY - 6.4-1 - 6.4 GA +* Wed Jul 17 2019 Kaleb S. KEITHLEY - 6.4-1 +- 6.4 GA + * Tue Jun 11 2019 Kaleb S. KEITHLEY - 6.3-1 - 6.3 GA diff --git a/sources b/sources index b51f5a1..eff1213 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-6.4.tar.gz) = 17dd8a61991c9e7eea75fdba8aa9d560f3d556869e3e04704d29821c5be9034bb0761697d51fb54a0777d8c48bb9f846fd8e1b69c68fea0a4e39f0902b0c6635 +SHA512 (glusterfs-6.5.tar.gz) = b7356de07e8126aea80b0489b9ac39ce0d10ea324fe38d05ff5740765e886f80fc7e6bdda9d4db1371d7b955b055cb76ea29e918e759a575db331a6436bad90f From fb215b652aae920bd354e1948055df57f8345f79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 10:14:56 +0200 Subject: [PATCH 020/116] Rebuilt for Python 3.8 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 7ef5065..879c87a 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -210,11 +210,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.5 -Release: %{?prereltag:1.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:1.}1%{?prereltag:.%{prereltag}}%{?dist}.1 %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.9 +Release: 0.@PACKAGE_RELEASE@%{?dist}.10 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1406,6 +1406,9 @@ exit 0 %endif %changelog +* Mon Aug 19 2019 Miro Hrončok - 6.5-1.1 +- Rebuilt for Python 3.8 + * Wed Aug 7 2019 Kaleb S. KEITHLEY - 6.5-1 - 6.5 GA From 2c697f5ce405a30adefe42eb5fdbd3459bbc2b56 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 19 Aug 2019 09:55:22 -0400 Subject: [PATCH 021/116] Rebuilt for Python 3.8, again Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 879c87a..18da19b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -210,7 +210,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.5 -Release: %{?prereltag:1.}1%{?prereltag:.%{prereltag}}%{?dist}.1 +Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1406,6 +1406,9 @@ exit 0 %endif %changelog +* Mon Aug 19 2019 Kaleb S. KEITHLEY - 6.5-2 +- Rebuilt for Python 3.8, again + * Mon Aug 19 2019 Miro Hrončok - 6.5-1.1 - Rebuilt for Python 3.8 From e766c1f8d25f6217c772bb52451691a46e073dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 16:42:55 +0200 Subject: [PATCH 022/116] Rebuilt for Python 3.8 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 18da19b..c87b757 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -210,11 +210,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.5 -Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist}.1 %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.10 +Release: 0.@PACKAGE_RELEASE@%{?dist}.11 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1406,6 +1406,9 @@ exit 0 %endif %changelog +* Mon Aug 19 2019 Miro Hrončok - 6.5-2.1 +- Rebuilt for Python 3.8 + * Mon Aug 19 2019 Kaleb S. KEITHLEY - 6.5-2 - Rebuilt for Python 3.8, again From cc64a2befd165cd9a6e5de2ab29d60345214d409 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 19 Aug 2019 11:19:00 -0400 Subject: [PATCH 023/116] Rebuilt for Python 3.8, again Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 18da19b..00eb8a2 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,7 +7,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -# %%global prereltag rc1 +# %%global dev rc1 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -210,7 +210,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 6.5 -Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: 2%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ From 379fc60f04d4662cc0d675213cf8c6f90043a48b Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 28 Aug 2019 13:45:08 -0400 Subject: [PATCH 024/116] python3-requests, el-8 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index d0cf69a..18fd71e 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -210,11 +210,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.0 -Release: 0.1%{?dev:%{dev}}%{?dist} +Release: 0.2%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.8 +Release: 0.@PACKAGE_RELEASE@%{?dist}.1 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -406,7 +406,7 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: python%{_pythonver} Requires: python%{_pythonver}-prettytable Requires: python%{_pythonver}-gluster = %{version}-%{release} -%if ( 0%{?rhel} ) +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) Requires: python-requests %else Requires: python%{_pythonver}-requests @@ -1399,6 +1399,9 @@ exit 0 %endif %changelog +* Wed Aug 28 2019 Kaleb S. KEITHLEY - 7.0-0.2rc0 +- python3-requests, el-8 + * Thu Aug 22 2019 Kaleb S. KEITHLEY - 7.0-0.1rc0 - 7.0 RC0 From 76308eab068694e9c54f1395269999cc95eda9d7 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 16 Sep 2019 08:18:22 -0400 Subject: [PATCH 025/116] 7.0 RC1 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 18fd71e..9b26e4e 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,7 +7,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -%global dev rc0 +%global dev rc1 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -210,7 +210,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.0 -Release: 0.2%{?dev:%{dev}}%{?dist} +Release: 0.3%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1399,6 +1399,9 @@ exit 0 %endif %changelog +* Mon Sep 16 2019 Kaleb S. KEITHLEY - 7.0-0.1rc1 +- 7.0 RC1 + * Wed Aug 28 2019 Kaleb S. KEITHLEY - 7.0-0.2rc0 - python3-requests, el-8 diff --git a/sources b/sources index 8511800..350bd5e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-7.0rc0.tar.gz) = 857fa70f415d66f80aa2aebd8d9994aaf11a50898a3f4c48c6a96fba3d7ee11cbdaf6f01ff15c33e39821210c4ee0f975e7bb877fce639c6d1a7831a3aae2e4a +SHA512 (glusterfs-7.0rc1.tar.gz) = 3b17dfca38ec5230943ad4fa80a4c7dedd9fb7881afc20058099d5985683139d8a2c5a54124507aabc5cf33c94fd827671edd4303b5bb170c38c504e3d90d833 From bbae6ba75c836c76ba6b336a40f7ba0e270983ca Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 16 Sep 2019 11:38:49 -0400 Subject: [PATCH 026/116] disable gnfs by default Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 9b26e4e..aed0071 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -59,12 +59,7 @@ # gnfs # if you wish to compile an rpm with the legacy gNFS server xlator # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with gnfs -%{?_with_gnfs:%global _with_gnfs --enable-gnfs} - -# gnfs subpackages for glusterfs-5, will be obsoleted in glusterfs-6 -%if ( 0%{_for_fedora_koji_builds} ) -%global _with_gnfs --enable-gnfs -%endif +%{?_without_gnfs:%global _with_gnfs --disable-gnfs} # ipv6default # if you wish to compile an rpm with IPv6 default... @@ -1399,7 +1394,10 @@ exit 0 %endif %changelog -* Mon Sep 16 2019 Kaleb S. KEITHLEY - 7.0-0.1rc1 +* Mon Sep 16 2019 Kaleb S. KEITHLEY +- disable gnfs by default + +* Mon Sep 16 2019 Kaleb S. KEITHLEY - 7.0-0.3rc1 - 7.0 RC1 * Wed Aug 28 2019 Kaleb S. KEITHLEY - 7.0-0.2rc0 From 4b75c6dfc9355192898a7e6421b0c4bb64a319fa Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 16 Sep 2019 12:49:47 -0400 Subject: [PATCH 027/116] disable gnfs by default Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index aed0071..5827115 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -205,7 +205,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.0 -Release: 0.3%{?dev:%{dev}}%{?dist} +Release: 0.4%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1394,7 +1394,7 @@ exit 0 %endif %changelog -* Mon Sep 16 2019 Kaleb S. KEITHLEY +* Mon Sep 16 2019 Kaleb S. KEITHLEY - 7.0-0.4rc1 - disable gnfs by default * Mon Sep 16 2019 Kaleb S. KEITHLEY - 7.0-0.3rc1 From d5545d0c6661d868645261752cfe75ccf6558762 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 1 Oct 2019 07:19:42 -0400 Subject: [PATCH 028/116] 7.0 RC3 (note, rc2 was tagged but not released) Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 5827115..a33c761 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,7 +7,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -%global dev rc1 +%global dev rc3 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -205,7 +205,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.0 -Release: 0.4%{?dev:%{dev}}%{?dist} +Release: 0.5%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1394,6 +1394,9 @@ exit 0 %endif %changelog +* Tue Oct 1 2019 Kaleb S. KEITHLEY - 7.0-0.5rc3 +- 7.0 RC3 (note, rc2 was tagged but not released) + * Mon Sep 16 2019 Kaleb S. KEITHLEY - 7.0-0.4rc1 - disable gnfs by default diff --git a/sources b/sources index 350bd5e..01ae78b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-7.0rc1.tar.gz) = 3b17dfca38ec5230943ad4fa80a4c7dedd9fb7881afc20058099d5985683139d8a2c5a54124507aabc5cf33c94fd827671edd4303b5bb170c38c504e3d90d833 +SHA512 (glusterfs-7.0rc3.tar.gz) = fc36b40dd92b8a3e8e796a30a9017757a49d8c3d746554a40037b0ffc056eab5a69e5c91fa687a0dd065a8ea519043a46be6402ec7c1d23e88788df12f748b08 From 121656e62df8eb849747a1f09c4cc613eeed2ac4 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 9 Oct 2019 10:17:44 -0400 Subject: [PATCH 029/116] f31+ --without-bd Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index a33c761..d5170c8 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -27,7 +27,7 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without bd %{?_without_bd:%global _without_bd --disable-bd-xlator} -%if ( 0%{?rhel} && 0%{?rhel} > 7 ) +%if ( 0%{?fedora} && 0%{?fedora} > 30 ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) %global _without_bd --without-bd %endif @@ -1394,6 +1394,9 @@ exit 0 %endif %changelog +* Wed Oct 9 2019 Kaleb S. KEITHLEY +- f31+ --without-bd + * Tue Oct 1 2019 Kaleb S. KEITHLEY - 7.0-0.5rc3 - 7.0 RC3 (note, rc2 was tagged but not released) From 3987d5f2477f25163eab2d4ad8bb68a8e74c74a0 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 10 Oct 2019 07:56:25 -0400 Subject: [PATCH 030/116] bd xlator was removed in glusterfs-6 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index d5170c8..88ecfca 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -22,15 +22,6 @@ %global _with_asan %{nil} %endif -# bd -# if you wish to compile an rpm without the BD map support... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without bd -%{?_without_bd:%global _without_bd --disable-bd-xlator} - -%if ( 0%{?fedora} && 0%{?fedora} > 30 ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) -%global _without_bd --without-bd -%endif - # cmocka # if you wish to compile an rpm with cmocka unit testing... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with cmocka @@ -1395,7 +1386,7 @@ exit 0 %changelog * Wed Oct 9 2019 Kaleb S. KEITHLEY -- f31+ --without-bd +- bd xlator was removed in glusterfs-6 * Tue Oct 1 2019 Kaleb S. KEITHLEY - 7.0-0.5rc3 - 7.0 RC3 (note, rc2 was tagged but not released) From 4e87734e63a2fb13877a5f56ec881c6f67fb3add Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 15 Oct 2019 09:14:59 -0400 Subject: [PATCH 031/116] 7.0 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 88ecfca..98b7406 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,7 +7,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -%global dev rc3 +#%%global dev rc3 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -196,7 +196,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.0 -Release: 0.5%{?dev:%{dev}}%{?dist} +Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1385,6 +1385,9 @@ exit 0 %endif %changelog +* Tue Oct 15 2019 Kaleb S. KEITHLEY - 7.0-1 +- 7.0 GA + * Wed Oct 9 2019 Kaleb S. KEITHLEY - bd xlator was removed in glusterfs-6 diff --git a/sources b/sources index 01ae78b..6a84084 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-7.0rc3.tar.gz) = fc36b40dd92b8a3e8e796a30a9017757a49d8c3d746554a40037b0ffc056eab5a69e5c91fa687a0dd065a8ea519043a46be6402ec7c1d23e88788df12f748b08 +SHA512 (glusterfs-7.0.tar.gz) = 688b7ef32736ea71ab8d1e42d46090c6dd52f25c5d216cc29b88d11b59c28383523379dae10b8c986ad0132b3c4fa5ec35d814cf8c217c88b7e60456c40ccbe7 From ebdd1b76cb690585768576b1428824d99bbfd751 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 23 Dec 2019 07:58:35 -0500 Subject: [PATCH 032/116] 7.1 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 9 ++++----- sources | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 98b7406..f26714b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -195,7 +195,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 7.0 +Version: 7.1 Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -250,9 +250,6 @@ BuildRequires: libuuid-devel %if ( 0%{?_with_cmocka:1} ) BuildRequires: libcmocka-devel >= 1.0.1 %endif -%if ( 0%{!?_without_bd:1} ) -BuildRequires: lvm2-devel -%endif %if ( 0%{!?_without_georeplication:1} ) BuildRequires: libattr-devel %endif @@ -687,7 +684,6 @@ sed -i -e 's/--quiet//' configure.ac %{?_with_tmpfilesdir} \ %{?_with_tsan} \ %{?_with_valgrind} \ - %{?_without_bd} \ %{?_without_epoll} \ %{?_without_events} \ %{?_without_fusermount} \ @@ -1385,6 +1381,9 @@ exit 0 %endif %changelog +* Mon Dec 23 2019 Kaleb S. KEITHLEY - 7.1-1 +- 7.1 GA + * Tue Oct 15 2019 Kaleb S. KEITHLEY - 7.0-1 - 7.0 GA diff --git a/sources b/sources index 6a84084..4a09a74 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-7.0.tar.gz) = 688b7ef32736ea71ab8d1e42d46090c6dd52f25c5d216cc29b88d11b59c28383523379dae10b8c986ad0132b3c4fa5ec35d814cf8c217c88b7e60456c40ccbe7 +SHA512 (glusterfs-7.1.tar.gz) = d6f3e3732af4c4bac7b4da2a3829198d81d7158fb284556a146a597d25e7ce467f13dda4f4b04d2b4591c7f95f4867eadf0e307b3267595140292ead06c67b44 From 618a66b189556b0e35440a595086c10759482353 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 15 Jan 2020 13:28:34 -0500 Subject: [PATCH 033/116] 7.2 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index f26714b..365dd07 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -195,7 +195,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 7.1 +Version: 7.2 Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1381,6 +1381,9 @@ exit 0 %endif %changelog +* Wed Jan 15 2020 Kaleb S. KEITHLEY - 7.2-1 +- 7.2 GA + * Mon Dec 23 2019 Kaleb S. KEITHLEY - 7.1-1 - 7.1 GA diff --git a/sources b/sources index 4a09a74..baea6b4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-7.1.tar.gz) = d6f3e3732af4c4bac7b4da2a3829198d81d7158fb284556a146a597d25e7ce467f13dda4f4b04d2b4591c7f95f4867eadf0e307b3267595140292ead06c67b44 +SHA512 (glusterfs-7.2.tar.gz) = fd1059222c4d30fa5c4011083c3c53af44433180ae124c884a774628051d31d95386bef71d4d25ed2b0c5dd8d9a6936601e8e37d963b34d291cb88ea45e31ff2 From f9153ccd81f5a9d35ef71abc63203c85f7c2ecf2 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 22 Jan 2020 13:42:27 -0500 Subject: [PATCH 034/116] 7.2, gcc-10 fix Signed-off-by: Kaleb S. KEITHLEY --- ...fns-of-cli_default_conn_timeout-and-.patch | 101 ++++++++++++++++++ glusterfs.spec | 7 +- 2 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch diff --git a/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch b/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch new file mode 100644 index 0000000..47c63d8 --- /dev/null +++ b/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch @@ -0,0 +1,101 @@ +From 5ccd50176b4e45abf528ef6870c332ef5f05448e Mon Sep 17 00:00:00 2001 +From: "Kaleb S. KEITHLEY" +Date: Thu, 2 Jan 2020 07:46:23 -0500 +Subject: [PATCH] cli: duplicate defns of cli_default_conn_timeout and + cli_ten_minutes_timeout + +Winter is coming. So is gcc-10. + +Compiling with gcc-10-20191219 snapshot reveals dupe defns of +cli_default_conn_timeout and cli_ten_minutes_timeout in +.../cli/src/cli.[ch] due to missing extern decl. + +There are many changes coming in gcc-10 described in +https://gcc.gnu.org/gcc-10/changes.html + +compiling cli.c with gcc-9 we see: + ... + .quad .LC88 + .comm cli_ten_minutes_timeout,4,4 + .comm cli_default_conn_timeout,4,4 + .text + .Letext0: + ... + +and with gcc-10: + ... + .quad .LC88 + .globl cli_ten_minutes_timeout + .bss + .align 4 + .type cli_ten_minutes_timeout, @object + .size cli_ten_minutes_timeout, 4 + cli_ten_minutes_timeout: + .zero 4 + .globl cli_default_conn_timeout + .align 4 + .type cli_default_conn_timeout, @object + .size cli_default_conn_timeout, 4 + cli_default_conn_timeout: + .zero 4 + .text + .Letext0: + ... + +which is reflected in the .o file as (gcc-9): +... +0000000000000004 C cli_ten_minutes_timeout +0000000000000004 C cli_default_conn_timeout +... + +and (gcc-10): +... +0000000000000020 B cli_ten_minutes_timeout +0000000000000024 B cli_default_conn_timeout +... + +See nm(1) and ld(1) for a description C (common) and B (BSS) and how +they are treated by the linker. + +Note: gcc-10 will land in Fedora-32! + +Change-Id: I54ea485736a4910254eeb21222ad263721cdef3c +Fixes: bz#1793492 +Signed-off-by: Kaleb S. KEITHLEY +--- + cli/src/cli.c | 3 +++ + cli/src/cli.h | 4 ++-- + 2 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/cli/src/cli.c b/cli/src/cli.c +index fac32d3e9..6ac9c7901 100644 +--- a/cli/src/cli.c ++++ b/cli/src/cli.c +@@ -84,6 +84,9 @@ rpc_clnt_prog_t *cli_rpc_prog; + + extern struct rpc_clnt_program cli_prog; + ++int cli_default_conn_timeout = 120; ++int cli_ten_minutes_timeout = 600; ++ + static int + glusterfs_ctx_defaults_init(glusterfs_ctx_t *ctx) + { +diff --git a/cli/src/cli.h b/cli/src/cli.h +index 7166991a7..09d824ed0 100644 +--- a/cli/src/cli.h ++++ b/cli/src/cli.h +@@ -39,8 +39,8 @@ enum argp_option_keys { + ARGP_PORT_KEY = 'p', + }; + +-int cli_default_conn_timeout; +-int cli_ten_minutes_timeout; ++extern int cli_default_conn_timeout; ++extern int cli_ten_minutes_timeout; + + typedef enum { + COLD_BRICK_COUNT, +-- +2.24.1 + diff --git a/glusterfs.spec b/glusterfs.spec index 365dd07..44a4ae3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,7 +196,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.2 -Release: 1%{?dev:%{dev}}%{?dist} +Release: 2%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -213,6 +213,7 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif +Patch0001: 0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch Requires(pre): shadow-utils BuildRequires: systemd @@ -665,6 +666,7 @@ This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?dev} +%patch0001 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -1381,6 +1383,9 @@ exit 0 %endif %changelog +* Wed Jan 22 2020 Kaleb S. KEITHLEY - 7.2-2 +- 7.2, gcc-10 fix + * Wed Jan 15 2020 Kaleb S. KEITHLEY - 7.2-1 - 7.2 GA From ab2ac21499db8c2c3ef0799b2e223059fb28e5c2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 22:29:22 +0000 Subject: [PATCH 035/116] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 44a4ae3..6c00476 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.2 -Release: 2%{?dev:%{dev}}%{?dist} +Release: 3%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.1 +Release: 0.@PACKAGE_RELEASE@%{?dist}.2 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1383,6 +1383,9 @@ exit 0 %endif %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 7.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Wed Jan 22 2020 Kaleb S. KEITHLEY - 7.2-2 - 7.2, gcc-10 fix From 3f1fa241c8e8a451ef1d982f02e939216eedb145 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 17 Feb 2020 08:15:05 -0500 Subject: [PATCH 036/116] 7.3 GA Signed-off-by: Kaleb S. KEITHLEY --- ...fns-of-cli_default_conn_timeout-and-.patch | 101 ------------------ glusterfs.spec | 9 +- sources | 1 + 3 files changed, 6 insertions(+), 105 deletions(-) delete mode 100644 0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch diff --git a/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch b/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch deleted file mode 100644 index 47c63d8..0000000 --- a/0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch +++ /dev/null @@ -1,101 +0,0 @@ -From 5ccd50176b4e45abf528ef6870c332ef5f05448e Mon Sep 17 00:00:00 2001 -From: "Kaleb S. KEITHLEY" -Date: Thu, 2 Jan 2020 07:46:23 -0500 -Subject: [PATCH] cli: duplicate defns of cli_default_conn_timeout and - cli_ten_minutes_timeout - -Winter is coming. So is gcc-10. - -Compiling with gcc-10-20191219 snapshot reveals dupe defns of -cli_default_conn_timeout and cli_ten_minutes_timeout in -.../cli/src/cli.[ch] due to missing extern decl. - -There are many changes coming in gcc-10 described in -https://gcc.gnu.org/gcc-10/changes.html - -compiling cli.c with gcc-9 we see: - ... - .quad .LC88 - .comm cli_ten_minutes_timeout,4,4 - .comm cli_default_conn_timeout,4,4 - .text - .Letext0: - ... - -and with gcc-10: - ... - .quad .LC88 - .globl cli_ten_minutes_timeout - .bss - .align 4 - .type cli_ten_minutes_timeout, @object - .size cli_ten_minutes_timeout, 4 - cli_ten_minutes_timeout: - .zero 4 - .globl cli_default_conn_timeout - .align 4 - .type cli_default_conn_timeout, @object - .size cli_default_conn_timeout, 4 - cli_default_conn_timeout: - .zero 4 - .text - .Letext0: - ... - -which is reflected in the .o file as (gcc-9): -... -0000000000000004 C cli_ten_minutes_timeout -0000000000000004 C cli_default_conn_timeout -... - -and (gcc-10): -... -0000000000000020 B cli_ten_minutes_timeout -0000000000000024 B cli_default_conn_timeout -... - -See nm(1) and ld(1) for a description C (common) and B (BSS) and how -they are treated by the linker. - -Note: gcc-10 will land in Fedora-32! - -Change-Id: I54ea485736a4910254eeb21222ad263721cdef3c -Fixes: bz#1793492 -Signed-off-by: Kaleb S. KEITHLEY ---- - cli/src/cli.c | 3 +++ - cli/src/cli.h | 4 ++-- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/cli/src/cli.c b/cli/src/cli.c -index fac32d3e9..6ac9c7901 100644 ---- a/cli/src/cli.c -+++ b/cli/src/cli.c -@@ -84,6 +84,9 @@ rpc_clnt_prog_t *cli_rpc_prog; - - extern struct rpc_clnt_program cli_prog; - -+int cli_default_conn_timeout = 120; -+int cli_ten_minutes_timeout = 600; -+ - static int - glusterfs_ctx_defaults_init(glusterfs_ctx_t *ctx) - { -diff --git a/cli/src/cli.h b/cli/src/cli.h -index 7166991a7..09d824ed0 100644 ---- a/cli/src/cli.h -+++ b/cli/src/cli.h -@@ -39,8 +39,8 @@ enum argp_option_keys { - ARGP_PORT_KEY = 'p', - }; - --int cli_default_conn_timeout; --int cli_ten_minutes_timeout; -+extern int cli_default_conn_timeout; -+extern int cli_ten_minutes_timeout; - - typedef enum { - COLD_BRICK_COUNT, --- -2.24.1 - diff --git a/glusterfs.spec b/glusterfs.spec index 6c00476..50448d5 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -195,8 +195,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 7.2 -Release: 3%{?dev:%{dev}}%{?dist} +Version: 7.3 +Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -213,7 +213,6 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif -Patch0001: 0001-cli-duplicate-defns-of-cli_default_conn_timeout-and-.patch Requires(pre): shadow-utils BuildRequires: systemd @@ -666,7 +665,6 @@ This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?dev} -%patch0001 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -1383,6 +1381,9 @@ exit 0 %endif %changelog +* Mon Feb 17 2020 Kaleb S. KEITHLEY - 7.3-1 +- 7.3 GA + * Tue Jan 28 2020 Fedora Release Engineering - 7.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index baea6b4..ee006e9 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (glusterfs-7.2.tar.gz) = fd1059222c4d30fa5c4011083c3c53af44433180ae124c884a774628051d31d95386bef71d4d25ed2b0c5dd8d9a6936601e8e37d963b34d291cb88ea45e31ff2 +SHA512 (glusterfs-7.3.tar.gz) = 901f55d5084e90f4b5907fbbe7d5f7d1937198b500efc369651970053029b727c0bfc6180b6058a3211523b4e16a63bf821b1a9f81dfc1b87b2061d271ec9b3f From 7d209ed114b17c93089962c5c4a8a740f17e1a29 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 18 Mar 2020 10:20:55 -0400 Subject: [PATCH 037/116] 7.4 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- sources | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 50448d5..5bbe32d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -195,7 +195,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 7.3 +Version: 7.4 Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1381,6 +1381,9 @@ exit 0 %endif %changelog +* Wed Mar 18 2020 Kaleb S. KEITHLEY - 7.4-1 +- 7.4 GA + * Mon Feb 17 2020 Kaleb S. KEITHLEY - 7.3-1 - 7.3 GA diff --git a/sources b/sources index ee006e9..c9ae878 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (glusterfs-7.2.tar.gz) = fd1059222c4d30fa5c4011083c3c53af44433180ae124c884a774628051d31d95386bef71d4d25ed2b0c5dd8d9a6936601e8e37d963b34d291cb88ea45e31ff2 -SHA512 (glusterfs-7.3.tar.gz) = 901f55d5084e90f4b5907fbbe7d5f7d1937198b500efc369651970053029b727c0bfc6180b6058a3211523b4e16a63bf821b1a9f81dfc1b87b2061d271ec9b3f +SHA512 (glusterfs-7.4.tar.gz) = e22452230f73672bfd6ff2f012e36dceb3fc33992767487a2b11b2a004fbe141707704f9830423076ccb51d74269b62ef50bbda8fe1c064f4d19f13c037dea58 From 2e0259eaf6deec55aff35598b6de8be8b8e4b2c1 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 16 Apr 2020 07:23:41 -0400 Subject: [PATCH 038/116] 7.5 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 5bbe32d..e0bcfea 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -195,7 +195,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 7.4 +Version: 7.5 Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1381,6 +1381,9 @@ exit 0 %endif %changelog +* Thu Apr 16 2020 Kaleb S. KEITHLEY - 7.5-1 +- 7.5 GA + * Wed Mar 18 2020 Kaleb S. KEITHLEY - 7.4-1 - 7.4 GA diff --git a/sources b/sources index c9ae878..64e50a6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-7.4.tar.gz) = e22452230f73672bfd6ff2f012e36dceb3fc33992767487a2b11b2a004fbe141707704f9830423076ccb51d74269b62ef50bbda8fe1c064f4d19f13c037dea58 +SHA512 (glusterfs-7.5.tar.gz) = dfd8f04fb398daa7d7f58ef978ab69c0a55a313ac2af3287f7e1e7044f708317227c8749af5fd8d56844dfb8ad47bbd3214c42b806e2e21191a6a8617ab0be38 From eb07bdf9c03a91df6d756158866aa4c344b71db6 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 18 May 2020 17:18:17 -0400 Subject: [PATCH 039/116] 7.6 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index e0bcfea..295137b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -195,7 +195,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 7.5 +Version: 7.6 Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1381,6 +1381,9 @@ exit 0 %endif %changelog +* Mon May 18 2020 Kaleb S. KEITHLEY - 7.6-1 +- 7.6 GA + * Thu Apr 16 2020 Kaleb S. KEITHLEY - 7.5-1 - 7.5 GA diff --git a/sources b/sources index 64e50a6..862d37d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-7.5.tar.gz) = dfd8f04fb398daa7d7f58ef978ab69c0a55a313ac2af3287f7e1e7044f708317227c8749af5fd8d56844dfb8ad47bbd3214c42b806e2e21191a6a8617ab0be38 +SHA512 (glusterfs-7.6.tar.gz) = c26b2046e7afdbb37fdd395fd9f692a0513ebb58c91ea223fbbaf9f8b41641b1fd009f2975e187f0feb8d83fb5cd4a8a0c2fdf4591a8a31e920d6bba75ae7c0f From 3737e320522717cc393a0024f296aef567edcaf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 May 2020 02:46:43 +0200 Subject: [PATCH 040/116] Rebuilt for Python 3.9 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 295137b..b60ef0e 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 7.6 -Release: 1%{?dev:%{dev}}%{?dist} +Release: 2%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.2 +Release: 0.@PACKAGE_RELEASE@%{?dist}.3 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1381,6 +1381,9 @@ exit 0 %endif %changelog +* Tue May 26 2020 Miro Hrončok - 7.6-2 +- Rebuilt for Python 3.9 + * Mon May 18 2020 Kaleb S. KEITHLEY - 7.6-1 - 7.6 GA From 1a06b53cf644a69cba75b08ee3e1fc22ddf3971f Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 1 Jun 2020 08:10:40 -0400 Subject: [PATCH 041/116] 8.0 RC0 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 388 ++++++++++++++++++++++++++++--------------------- sources | 2 +- 2 files changed, 224 insertions(+), 166 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index b60ef0e..f8f2ee2 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -7,7 +7,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -#%%global dev rc3 +%global dev rc0 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -73,16 +73,6 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf %{?_without_ocf:%global _without_ocf --without-ocf} -# rdma -# if you wish to compile an rpm without rdma support, compile like this... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without rdma -%{?_without_rdma:%global _without_rdma --disable-ibverbs} - -# No RDMA Support on armv7hl -%ifarch armv7hl -%global _without_rdma --disable-ibverbs -%endif - # server # if you wish to build rpms without server components, compile like this # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without server @@ -195,8 +185,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 7.6 -Release: 2%{?dev:%{dev}}%{?dist} +Version: 8.0 +Release: 0.1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -258,28 +248,27 @@ BuildRequires: libattr-devel BuildRequires: firewalld %endif -Obsoletes: hekafs +Obsoletes: hekafs <= %{version}-%{release} Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-core < %{version}-%{release} %if ( 0%{_for_fedora_koji_builds} ) -Obsoletes: %{name}-regression-tests +Obsoletes: %{name}-regression-tests <= %{version}-%{release} %endif -Obsoletes: %{name}-ufo +Obsoletes: %{name}-ufo <= %{version}-%{release} %if ( 0%{!?_with_gnfs:1} ) -Obsoletes: %{name}-gnfs +Obsoletes: %{name}-gnfs <= %{version}-%{release} %endif -Obsoletes: %{name}-ganesha +Obsoletes: %{name}-rdma < %{version}-%{release} Provides: %{name}-common = %{version}-%{release} Provides: %{name}-core = %{version}-%{release} %description GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package includes the glusterfs binary, the glusterfsd daemon and the libglusterfs and glusterfs translator modules common to both GlusterFS server @@ -294,12 +283,11 @@ Requires(postun): /sbin/ldconfig %description api GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides the glusterfs libgfapi library. @@ -311,12 +299,11 @@ Requires: libacl-devel %description api-devel GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides the api include files. @@ -326,12 +313,11 @@ Requires: %{name}-libs = %{version}-%{release} %description cli GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides the GlusterFS CLI application and its man page @@ -340,12 +326,11 @@ Summary: GlusterFS client-side translators %description client-xlators GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides the translators needed on any GlusterFS client. @@ -355,12 +340,11 @@ BuildRequires: libcurl-devel %description cloudsync-plugins GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides cloudsync plugins for archival feature. @@ -372,12 +356,11 @@ Requires: %{name}-extra-xlators = %{version}-%{release} %description devel GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides the development libraries and include files. @@ -401,12 +384,11 @@ Requires: python-argparse %description events GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides the GlusterFS Events %endif @@ -420,12 +402,11 @@ Requires: python%{_pythonver} %description extra-xlators GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides extra filesystem Translators, such as Glupy, for GlusterFS. @@ -444,16 +425,59 @@ Provides: %{name}-client = %{version}-%{release} %description fuse GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides support to FUSE based clients and includes the glusterfsd and glusterfs binaries. +%if ( 0%{!?_without_server:1} ) +%package ganesha +Summary: NFS-Ganesha configuration +Group: Applications/File + +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Requires: nfs-ganesha-selinux >= 2.7.6 +Requires: nfs-ganesha-gluster >= 2.7.6 +Requires: pcs >= 0.10.0 +Requires: resource-agents >= 4.2.0 +Requires: dbus + +%if ( 0%{?rhel} && 0%{?rhel} == 6 ) +Requires: cman, pacemaker, corosync +%endif + +%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 5 ) +# we need portblock resource-agent in 3.9.5 and later. +Requires: net-tools +%endif + +%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) +Requires: selinux-policy >= 3.13.1-160 +Requires(post): policycoreutils-python +Requires(postun): policycoreutils-python +%else +Requires(post): policycoreutils-python-utils +Requires(postun): policycoreutils-python-utils +%endif +%endif + +%description ganesha +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides the configuration and related files for using +NFS-Ganesha as the NFS server using GlusterFS +%endif + %if ( 0%{!?_without_georeplication:1} ) %package geo-replication Summary: GlusterFS Geo-replication @@ -466,12 +490,11 @@ Requires: rsync %description geo-replication GlusterFS is a distributed file-system capable of scaling to several -peta-bytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file system in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in userspace and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides support to geo-replication. %endif @@ -502,12 +525,11 @@ Requires(postun): /sbin/ldconfig %description libs GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides the base GlusterFS libraries @@ -522,39 +544,15 @@ Obsoletes: python-gluster < 3.10 %description -n python%{_pythonver}-gluster GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package contains the python modules of GlusterFS and own gluster namespace. -%if ( 0%{!?_without_rdma:1} ) -%package rdma -Summary: GlusterFS rdma support for ib-verbs -%if ( 0%{?fedora} && 0%{?fedora} > 26 ) -BuildRequires: rdma-core-devel -%else -BuildRequires: libibverbs-devel -BuildRequires: librdmacm-devel >= 1.0.15 -%endif -Requires: %{name} = %{version}-%{release} - -%description rdma -GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. - -This package provides support to ib-verbs library. -%endif - %if ( ! 0%{_for_fedora_koji_builds} ) %package regression-tests Summary: Development Tools @@ -584,12 +582,11 @@ Requires: %{_prefix}/lib/ocf/resource.d %description resource-agents GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over Infiniband RDMA -or TCP/IP interconnect into one large parallel network file -system. GlusterFS is one of the most sophisticated file systems in -terms of features and extensibility. It borrows a powerful concept -called Translators from GNU Hurd kernel. Much of the code in GlusterFS -is in user space and easily manageable. +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. This package provides the resource agents which plug glusterd into Open Cluster Framework (OCF) compliant cluster resource managers, @@ -776,6 +773,15 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha install -D -p -m 0644 extras/glusterfs-logrotate \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs +# ganesha ghosts +%if ( 0%{!?_without_server:1} ) +mkdir -p %{buildroot}%{_sysconfdir}/ganesha +touch %{buildroot}%{_sysconfdir}/ganesha/ganesha-ha.conf +mkdir -p %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ +touch %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha.conf +touch %{buildroot}%{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha-ha.conf +%endif + %if ( 0%{!?_without_georeplication:1} ) # geo-rep ghosts mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication @@ -834,6 +840,14 @@ exit 0 exit 0 %endif +%if ( 0%{!?_without_server:1} ) +%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) +%post ganesha +semanage boolean -m ganesha_use_fusefs --on +exit 0 +%endif +%endif + %if ( 0%{!?_without_georeplication:1} ) %post geo-replication if [ $1 -ge 1 ]; then @@ -991,6 +1005,36 @@ exit 0 exit 0 %endif +%if ( 0%{!?_without_server:1} ) +%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) +%postun ganesha +semanage boolean -m ganesha_use_fusefs --off +exit 0 +%endif +%endif + +##----------------------------------------------------------------------------- +## All %%trigger should be placed here and keep them sorted +## +%if ( 0%{!?_without_server:1} ) +%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) +%trigger ganesha -- selinux-policy-targeted +semanage boolean -m ganesha_use_fusefs --on +exit 0 +%endif +%endif + +##----------------------------------------------------------------------------- +## All %%triggerun should be placed here and keep them sorted +## +%if ( 0%{!?_without_server:1} ) +%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) +%triggerun ganesha -- selinux-policy-targeted +semanage boolean -m ganesha_use_fusefs --off +exit 0 +%endif +%endif + ##----------------------------------------------------------------------------- ## All %%files should be placed here and keep them sorted by groups ## @@ -1060,6 +1104,13 @@ exit 0 %{_tmpfilesdir}/gluster.conf %endif +%if ( 0%{?_without_server:1} ) +#exclude ganesha related files +%exclude %{_sysconfdir}/ganesha/ganesha-ha.conf.sample +%exclude %{_libexecdir}/ganesha/* +%exclude %{_prefix}/lib/ocf/resource.d/heartbeat/* +%endif + %files api %exclude %{_libdir}/*.so # libgfapi files @@ -1098,6 +1149,22 @@ exit 0 %{_libdir}/*.so %{_libdir}/pkgconfig/libgfchangelog.pc +# Events +%if ( 0%{!?_without_events:1} ) +%files events +%config(noreplace) %{_sysconfdir}/glusterfs/eventsconfig.json +%dir %{_sharedstatedir}/glusterd +%dir %{_sharedstatedir}/glusterd/events +%dir %{_libexecdir}/glusterfs +%dir %{_libexecdir}/glusterfs/gfevents + %{_libexecdir}/glusterfs/gfevents/* + %{_libexecdir}/glusterfs/peer_eventsapi.py* +%{_sbindir}/glustereventsd +%{_sbindir}/gluster-eventsapi +%{_datadir}/glusterfs/scripts/eventsdash.py* +%{_unitdir}/glustereventsd.service +%endif + %files extra-xlators %dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/quiesce.so @@ -1126,16 +1193,19 @@ exit 0 %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid %endif -%files thin-arbiter -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/thin-arbiter.so -%dir %{_datadir}/glusterfs/scripts - %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh -%config %{_sysconfdir}/glusterfs/thin-arbiter.vol - -%{_unitdir}/gluster-ta-volume.service +%if ( 0%{!?_without_server:1} ) +%files ganesha +%dir %{_libexecdir}/ganesha +%{_sysconfdir}/ganesha/ganesha-ha.conf.sample +%{_libexecdir}/ganesha/* +%{_prefix}/lib/ocf/resource.d/heartbeat/* +%{_sharedstatedir}/glusterd/hooks/1/start/post/S31ganesha-start.sh +%ghost %attr(0644,-,-) %config(noreplace) %{_sysconfdir}/ganesha/ganesha-ha.conf +%ghost %dir %attr(0755,-,-) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha +%ghost %attr(0644,-,-) %config(noreplace) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha.conf +%ghost %attr(0644,-,-) %config(noreplace) %{_localstatedir}/run/gluster/shared_storage/nfs-ganesha/ganesha-ha.conf +%endif %if ( 0%{!?_without_georeplication:1} ) %files geo-replication @@ -1148,6 +1218,13 @@ exit 0 %dir %{_libexecdir}/glusterfs/python/syncdaemon %{_libexecdir}/glusterfs/gsyncd %{_libexecdir}/glusterfs/python/syncdaemon/* +%dir %{_libexecdir}/glusterfs/scripts + %{_libexecdir}/glusterfs/scripts/get-gfid.sh + %{_libexecdir}/glusterfs/scripts/slave-upgrade.sh + %{_libexecdir}/glusterfs/scripts/gsync-upgrade.sh + %{_libexecdir}/glusterfs/scripts/generate-gfid-file.sh + %{_libexecdir}/glusterfs/scripts/gsync-sync-gfid + %{_libexecdir}/glusterfs/scripts/schedule_georep.py* %{_libexecdir}/glusterfs/gverify.sh %{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh %{_libexecdir}/glusterfs/peer_gsec_create @@ -1164,15 +1241,6 @@ exit 0 %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre - -%dir %{_datadir}/glusterfs -%dir %{_datadir}/glusterfs/scripts - %{_datadir}/glusterfs/scripts/get-gfid.sh - %{_datadir}/glusterfs/scripts/slave-upgrade.sh - %{_datadir}/glusterfs/scripts/gsync-upgrade.sh - %{_datadir}/glusterfs/scripts/generate-gfid-file.sh - %{_datadir}/glusterfs/scripts/gsync-sync-gfid - %{_datadir}/glusterfs/scripts/schedule_georep.py* %endif %files libs @@ -1194,12 +1262,6 @@ exit 0 %{python2_sitelib}/gluster/cliutils %endif -%if ( 0%{!?_without_rdma:1} ) -%files rdma -%dir %{_libdir}/glusterfs/%{version}%{?dev}/rpc-transport - %{_libdir}/glusterfs/%{version}%{?dev}/rpc-transport/rdma* -%endif - %if ( ! 0%{_for_fedora_koji_builds} ) %files regression-tests %dir %{_prefix}/share/glusterfs @@ -1241,7 +1303,7 @@ exit 0 # binaries %{_sbindir}/glusterd -%{_sbindir}/glfsheal +%{_libexecdir}/glusterfs/glfsheal %{_sbindir}/gf_attach %{_sbindir}/gluster-setgfid2path # {_sbindir}/glusterfsd is the actual binary, but glusterfs (client) is a @@ -1364,23 +1426,19 @@ exit 0 # end of server files %endif -# Events -%if ( 0%{!?_without_events:1} ) -%files events -%config(noreplace) %{_sysconfdir}/glusterfs/eventsconfig.json -%dir %{_sharedstatedir}/glusterd -%dir %{_sharedstatedir}/glusterd/events -%dir %{_libexecdir}/glusterfs -%dir %{_libexecdir}/glusterfs/gfevents - %{_libexecdir}/glusterfs/gfevents/* - %{_libexecdir}/glusterfs/peer_eventsapi.py* -%{_sbindir}/glustereventsd -%{_sbindir}/gluster-eventsapi -%{_datadir}/glusterfs/scripts/eventsdash.py* -%{_unitdir}/glustereventsd.service -%endif +%files thin-arbiter +%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator +%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features + %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/thin-arbiter.so +%dir %{_datadir}/glusterfs/scripts + %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh +%config %{_sysconfdir}/glusterfs/thin-arbiter.vol +%{_unitdir}/gluster-ta-volume.service %changelog +* Mon Jun 1 2020 Kaleb S. KEITHLEY - 8.0-0.1rc0 +- 8.0 RC0 + * Tue May 26 2020 Miro Hrončok - 7.6-2 - Rebuilt for Python 3.9 diff --git a/sources b/sources index 862d37d..6b57fc2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-7.6.tar.gz) = c26b2046e7afdbb37fdd395fd9f692a0513ebb58c91ea223fbbaf9f8b41641b1fd009f2975e187f0feb8d83fb5cd4a8a0c2fdf4591a8a31e920d6bba75ae7c0f +SHA512 (glusterfs-8.0rc0.tar.gz) = f435cf564b1f435f39efe86e1a2b8a195171c1957d5646959eccc69080d8f472db2897d164a71aefa98aca9458211f367e1fe4347ee78afe65f31c832e10d52b From 4186cb9be26aeaa01eb0b51662c364b91171e7f4 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 1 Jul 2020 12:26:10 -0600 Subject: [PATCH 042/116] Disable LTO --- glusterfs.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index f8f2ee2..c35fdb2 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -186,7 +186,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.0 -Release: 0.1%{?dev:%{dev}}%{?dist} +Release: 0.2%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -670,6 +670,13 @@ done %endif %build +# This package uses top level ASM constructs which are incompatible with LTO. +# Top level ASMs are often used to implement symbol versioning. gcc-10 +# introduces a new mechanism for symbol versioning which works with LTO. +# Converting packages to use that mechanism instead of toplevel ASMs is +# recommended. +# Disable LTO +%define _lto_cflags %{nil} sed -i -e 's/--quiet//' configure.ac ./autogen.sh && %configure \ @@ -1436,6 +1443,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Jul 1 2020 Jeff Law - 8.0-0.2rc0 +- Disable LTO + * Mon Jun 1 2020 Kaleb S. KEITHLEY - 8.0-0.1rc0 - 8.0 RC0 From a2a88a7c6e14d830b0019b88754908db0f17b126 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Sat, 4 Jul 2020 08:09:47 -0400 Subject: [PATCH 043/116] 8.0 fix symbol versions, enable LTO Signed-off-by: Kaleb S. KEITHLEY --- ...bol-versions-break-LTO-in-Fedora-raw.patch | 2233 +++++++++++++++++ glusterfs.spec | 18 +- 2 files changed, 2239 insertions(+), 12 deletions(-) create mode 100644 0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch diff --git a/0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch b/0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch new file mode 100644 index 0000000..daed10e --- /dev/null +++ b/0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch @@ -0,0 +1,2233 @@ +From bc09af77376c45d28e6c789b0b4e64deed053aad Mon Sep 17 00:00:00 2001 +From: "Kaleb S. KEITHLEY" +Date: Thu, 2 Jul 2020 15:52:15 -0400 +Subject: [PATCH] api: libgfapi symbol versions break LTO in Fedora rawhide/f33 + +The way symbol versions are implemented is incompatible with gcc-10 and LTO. + +Fedora provenpackager Jeff Law (law [at] redhat.com) writes in the +Fedora dist-git glusterfs.spec: + This package uses top level ASM constructs which are incompatible with LTO. + Top level ASMs are often used to implement symbol versioning. gcc-10 + introduces a new mechanism for symbol versioning which works with LTO. + Converting packages to use that mechanism instead of toplevel ASMs is + recommended. + +In particular, note that the version of gluster in Fedora rawhide/f33 is +glusterfs-8.0RC0. Once this fix is merged it will be necessary to backport +it to the release-8 branch. + +At the time that gfapi symbol versions were first implemented we copied +the GNU libc (glibc) symbol version implementation following Uli Drepper's +symbol versioning HOWTO. + +Now gcc-10 has a symver attribute that can be used instead. (Maybe it +has been there all along?) + +Both the original implemenation and this implemenation yield the same +symbol versions. This can be seen by running + `nm -D --with-symbol-versions libgfapi.so` +on the libgfapi.so built before and after applying this fix. + +Change-Id: I05fda580afacfff1bfc07be810dd1afc08a92fb8 +Fixes: #1352 +Signed-off-by: Kaleb S. KEITHLEY +--- + api/src/glfs-fops.c | 322 +++++++++++++-------------------------- + api/src/glfs-handleops.c | 100 +++++------- + api/src/glfs-internal.h | 27 +++- + api/src/glfs-mgmt.c | 3 +- + api/src/glfs-resolve.c | 14 +- + api/src/glfs.c | 99 +++++------- + 6 files changed, 210 insertions(+), 355 deletions(-) + +diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c +index 8d6d11423..fc2cfa043 100644 +--- a/api/src/glfs-fops.c ++++ b/api/src/glfs-fops.c +@@ -292,6 +292,7 @@ glfs_iatt_to_statx(struct glfs *fs, const struct iatt *iatt, + statx->glfs_st_attributes_mask = 0; + } + ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_iatt_from_statx, 6.0) + void + priv_glfs_iatt_from_statx(struct iatt *iatt, const struct glfs_stat *statx) + { +@@ -371,7 +372,6 @@ priv_glfs_iatt_from_statx(struct iatt *iatt, const struct glfs_stat *statx) + iatt->ia_attributes = statx->glfs_st_attributes; + iatt->ia_attributes_mask = statx->glfs_st_attributes_mask; + } +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_iatt_from_statx, 6.0); + + void + glfsflags_from_gfapiflags(struct glfs_stat *stat, int *glvalid) +@@ -415,6 +415,7 @@ glfs_loc_unlink(loc_t *loc) + return 0; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_open, 3.4.0) + struct glfs_fd * + pub_glfs_open(struct glfs *fs, const char *path, int flags) + { +@@ -509,8 +510,7 @@ invalid_fs: + return glfd; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_open, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_close, 3.4.0) + int + pub_glfs_close(struct glfs_fd *glfd) + { +@@ -565,8 +565,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_close, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lstat, 3.4.0) + int + pub_glfs_lstat(struct glfs *fs, const char *path, struct stat *stat) + { +@@ -607,8 +606,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lstat, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_stat, 3.4.0) + int + pub_glfs_stat(struct glfs *fs, const char *path, struct stat *stat) + { +@@ -649,8 +647,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_stat, 3.4.0); +- ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_statx, 6.0) + int + priv_glfs_statx(struct glfs *fs, const char *path, const unsigned int mask, + struct glfs_stat *statxbuf) +@@ -704,8 +701,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_statx, 6.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fstat, 3.4.0) + int + pub_glfs_fstat(struct glfs_fd *glfd, struct stat *stat) + { +@@ -754,8 +750,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fstat, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_creat, 3.4.0) + struct glfs_fd * + pub_glfs_creat(struct glfs *fs, const char *path, int flags, mode_t mode) + { +@@ -902,8 +897,6 @@ invalid_fs: + return glfd; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_creat, 3.4.0); +- + #ifdef HAVE_SEEK_HOLE + static int + glfs_seek(struct glfs_fd *glfd, off_t offset, int whence) +@@ -957,6 +950,7 @@ out: + } + #endif + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lseek, 3.4.0) + off_t + pub_glfs_lseek(struct glfs_fd *glfd, off_t offset, int whence) + { +@@ -1012,8 +1006,6 @@ invalid_fs: + return -1; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lseek, 3.4.0); +- + static ssize_t + glfs_preadv_common(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, + off_t offset, int flags, struct glfs_stat *poststat) +@@ -1091,6 +1083,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv, 3.4.0) + ssize_t + pub_glfs_preadv(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, + off_t offset, int flags) +@@ -1098,8 +1091,7 @@ pub_glfs_preadv(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, + return glfs_preadv_common(glfd, iovec, iovcnt, offset, flags, NULL); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read, 3.4.0) + ssize_t + pub_glfs_read(struct glfs_fd *glfd, void *buf, size_t count, int flags) + { +@@ -1116,8 +1108,7 @@ pub_glfs_read(struct glfs_fd *glfd, void *buf, size_t count, int flags) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_pread34, glfs_pread, 3.4.0) + ssize_t + pub_glfs_pread34(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, + int flags) +@@ -1135,8 +1126,7 @@ pub_glfs_pread34(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_pread34, glfs_pread, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread, 6.0) + ssize_t + pub_glfs_pread(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, + int flags, struct glfs_stat *poststat) +@@ -1154,8 +1144,7 @@ pub_glfs_pread(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread, 6.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv, 3.4.0) + ssize_t + pub_glfs_readv(struct glfs_fd *glfd, const struct iovec *iov, int count, + int flags) +@@ -1167,8 +1156,6 @@ pub_glfs_readv(struct glfs_fd *glfd, const struct iovec *iov, int count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv, 3.4.0); +- + struct glfs_io { + struct glfs_fd *glfd; + int op; +@@ -1370,6 +1357,7 @@ invalid_fs: + return -1; + } + ++GFAPI_SYMVER_PUBLIC(glfs_preadv_async34, glfs_preadv_async, 3.4.0) + int + pub_glfs_preadv_async34(struct glfs_fd *glfd, const struct iovec *iovec, + int count, off_t offset, int flags, glfs_io_cbk34 fn, +@@ -1379,8 +1367,7 @@ pub_glfs_preadv_async34(struct glfs_fd *glfd, const struct iovec *iovec, + (void *)fn, data); + } + +-GFAPI_SYMVER_PUBLIC(glfs_preadv_async34, glfs_preadv_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv_async, 6.0) + int + pub_glfs_preadv_async(struct glfs_fd *glfd, const struct iovec *iovec, + int count, off_t offset, int flags, glfs_io_cbk fn, +@@ -1390,8 +1377,7 @@ pub_glfs_preadv_async(struct glfs_fd *glfd, const struct iovec *iovec, + _gf_false, fn, data); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv_async, 6.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_read_async34, glfs_read_async, 3.4.0) + int + pub_glfs_read_async34(struct glfs_fd *glfd, void *buf, size_t count, int flags, + glfs_io_cbk34 fn, void *data) +@@ -1410,8 +1396,7 @@ pub_glfs_read_async34(struct glfs_fd *glfd, void *buf, size_t count, int flags, + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_read_async34, glfs_read_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read_async, 6.0) + int + pub_glfs_read_async(struct glfs_fd *glfd, void *buf, size_t count, int flags, + glfs_io_cbk fn, void *data) +@@ -1430,8 +1415,7 @@ pub_glfs_read_async(struct glfs_fd *glfd, void *buf, size_t count, int flags, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read_async, 6.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_pread_async34, glfs_pread_async, 3.4.0) + int + pub_glfs_pread_async34(struct glfs_fd *glfd, void *buf, size_t count, + off_t offset, int flags, glfs_io_cbk34 fn, void *data) +@@ -1450,8 +1434,7 @@ pub_glfs_pread_async34(struct glfs_fd *glfd, void *buf, size_t count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_pread_async34, glfs_pread_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread_async, 6.0) + int + pub_glfs_pread_async(struct glfs_fd *glfd, void *buf, size_t count, + off_t offset, int flags, glfs_io_cbk fn, void *data) +@@ -1470,8 +1453,7 @@ pub_glfs_pread_async(struct glfs_fd *glfd, void *buf, size_t count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread_async, 6.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_readv_async34, glfs_readv_async, 3.4.0) + int + pub_glfs_readv_async34(struct glfs_fd *glfd, const struct iovec *iov, int count, + int flags, glfs_io_cbk34 fn, void *data) +@@ -1483,8 +1465,7 @@ pub_glfs_readv_async34(struct glfs_fd *glfd, const struct iovec *iov, int count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_readv_async34, glfs_readv_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv_async, 6.0) + int + pub_glfs_readv_async(struct glfs_fd *glfd, const struct iovec *iov, int count, + int flags, glfs_io_cbk fn, void *data) +@@ -1496,8 +1477,6 @@ pub_glfs_readv_async(struct glfs_fd *glfd, const struct iovec *iov, int count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv_async, 6.0); +- + static ssize_t + glfs_pwritev_common(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, + off_t offset, int flags, struct glfs_stat *prestat, +@@ -1583,6 +1562,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_copy_file_range, 6.0) + ssize_t + pub_glfs_copy_file_range(struct glfs_fd *glfd_in, off64_t *off_in, + struct glfs_fd *glfd_out, off64_t *off_out, size_t len, +@@ -1736,8 +1716,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_copy_file_range, 6.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev, 3.4.0) + ssize_t + pub_glfs_pwritev(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, + off_t offset, int flags) +@@ -1745,8 +1724,7 @@ pub_glfs_pwritev(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, + return glfs_pwritev_common(glfd, iovec, iovcnt, offset, flags, NULL, NULL); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write, 3.4.0) + ssize_t + pub_glfs_write(struct glfs_fd *glfd, const void *buf, size_t count, int flags) + { +@@ -1763,8 +1741,7 @@ pub_glfs_write(struct glfs_fd *glfd, const void *buf, size_t count, int flags) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev, 3.4.0) + ssize_t + pub_glfs_writev(struct glfs_fd *glfd, const struct iovec *iov, int count, + int flags) +@@ -1776,8 +1753,7 @@ pub_glfs_writev(struct glfs_fd *glfd, const struct iovec *iov, int count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_pwrite34, glfs_pwrite, 3.4.0) + ssize_t + pub_glfs_pwrite34(struct glfs_fd *glfd, const void *buf, size_t count, + off_t offset, int flags) +@@ -1795,8 +1771,7 @@ pub_glfs_pwrite34(struct glfs_fd *glfd, const void *buf, size_t count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_pwrite34, glfs_pwrite, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite, 6.0) + ssize_t + pub_glfs_pwrite(struct glfs_fd *glfd, const void *buf, size_t count, + off_t offset, int flags, struct glfs_stat *prestat, +@@ -1815,8 +1790,6 @@ pub_glfs_pwrite(struct glfs_fd *glfd, const void *buf, size_t count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite, 6.0); +- + extern glfs_t * + pub_glfs_from_glfd(glfs_fd_t *); + +@@ -1935,6 +1908,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC(glfs_pwritev_async34, glfs_pwritev_async, 3.4.0) + int + pub_glfs_pwritev_async34(struct glfs_fd *glfd, const struct iovec *iovec, + int count, off_t offset, int flags, glfs_io_cbk34 fn, +@@ -1944,8 +1918,7 @@ pub_glfs_pwritev_async34(struct glfs_fd *glfd, const struct iovec *iovec, + _gf_true, (void *)fn, data); + } + +-GFAPI_SYMVER_PUBLIC(glfs_pwritev_async34, glfs_pwritev_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev_async, 6.0) + int + pub_glfs_pwritev_async(struct glfs_fd *glfd, const struct iovec *iovec, + int count, off_t offset, int flags, glfs_io_cbk fn, +@@ -1955,8 +1928,7 @@ pub_glfs_pwritev_async(struct glfs_fd *glfd, const struct iovec *iovec, + _gf_false, fn, data); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev_async, 6.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_write_async34, glfs_write_async, 3.4.0) + int + pub_glfs_write_async34(struct glfs_fd *glfd, const void *buf, size_t count, + int flags, glfs_io_cbk34 fn, void *data) +@@ -1975,8 +1947,7 @@ pub_glfs_write_async34(struct glfs_fd *glfd, const void *buf, size_t count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_write_async34, glfs_write_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write_async, 6.0) + int + pub_glfs_write_async(struct glfs_fd *glfd, const void *buf, size_t count, + int flags, glfs_io_cbk fn, void *data) +@@ -1995,8 +1966,7 @@ pub_glfs_write_async(struct glfs_fd *glfd, const void *buf, size_t count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write_async, 6.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_pwrite_async34, glfs_pwrite_async, 3.4.0) + int + pub_glfs_pwrite_async34(struct glfs_fd *glfd, const void *buf, int count, + off_t offset, int flags, glfs_io_cbk34 fn, void *data) +@@ -2015,8 +1985,7 @@ pub_glfs_pwrite_async34(struct glfs_fd *glfd, const void *buf, int count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_pwrite_async34, glfs_pwrite_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite_async, 6.0) + int + pub_glfs_pwrite_async(struct glfs_fd *glfd, const void *buf, int count, + off_t offset, int flags, glfs_io_cbk fn, void *data) +@@ -2035,8 +2004,7 @@ pub_glfs_pwrite_async(struct glfs_fd *glfd, const void *buf, int count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite_async, 6.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_writev_async34, glfs_writev_async, 3.4.0) + int + pub_glfs_writev_async34(struct glfs_fd *glfd, const struct iovec *iov, + int count, int flags, glfs_io_cbk34 fn, void *data) +@@ -2048,8 +2016,7 @@ pub_glfs_writev_async34(struct glfs_fd *glfd, const struct iovec *iov, + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_writev_async34, glfs_writev_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev_async, 6.0) + int + pub_glfs_writev_async(struct glfs_fd *glfd, const struct iovec *iov, int count, + int flags, glfs_io_cbk fn, void *data) +@@ -2061,8 +2028,6 @@ pub_glfs_writev_async(struct glfs_fd *glfd, const struct iovec *iov, int count, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev_async, 6.0); +- + static int + glfs_fsync_common(struct glfs_fd *glfd, struct glfs_stat *prestat, + struct glfs_stat *poststat) +@@ -2127,14 +2092,14 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC(glfs_fsync34, glfs_fsync, 3.4.0) + int + pub_glfs_fsync34(struct glfs_fd *glfd) + { + return glfs_fsync_common(glfd, NULL, NULL); + } + +-GFAPI_SYMVER_PUBLIC(glfs_fsync34, glfs_fsync, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync, 6.0) + int + pub_glfs_fsync(struct glfs_fd *glfd, struct glfs_stat *prestat, + struct glfs_stat *poststat) +@@ -2142,8 +2107,6 @@ pub_glfs_fsync(struct glfs_fd *glfd, struct glfs_stat *prestat, + return glfs_fsync_common(glfd, prestat, poststat); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync, 6.0); +- + static int + glfs_fsync_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno, struct iatt *prebuf, +@@ -2224,6 +2187,7 @@ out: + return ret; + } + ++GFAPI_SYMVER_PUBLIC(glfs_fsync_async34, glfs_fsync_async, 3.4.0) + int + pub_glfs_fsync_async34(struct glfs_fd *glfd, glfs_io_cbk34 fn, void *data) + { +@@ -2240,8 +2204,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_fsync_async34, glfs_fsync_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync_async, 6.0) + int + pub_glfs_fsync_async(struct glfs_fd *glfd, glfs_io_cbk fn, void *data) + { +@@ -2258,8 +2221,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync_async, 6.0); +- + static int + glfs_fdatasync_common(struct glfs_fd *glfd, struct glfs_stat *prestat, + struct glfs_stat *poststat) +@@ -2324,14 +2285,14 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC(glfs_fdatasync34, glfs_fdatasync, 3.4.0) + int + pub_glfs_fdatasync34(struct glfs_fd *glfd) + { + return glfs_fdatasync_common(glfd, NULL, NULL); + } + +-GFAPI_SYMVER_PUBLIC(glfs_fdatasync34, glfs_fdatasync, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync, 6.0) + int + pub_glfs_fdatasync(struct glfs_fd *glfd, struct glfs_stat *prestat, + struct glfs_stat *poststat) +@@ -2339,8 +2300,7 @@ pub_glfs_fdatasync(struct glfs_fd *glfd, struct glfs_stat *prestat, + return glfs_fdatasync_common(glfd, prestat, poststat); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync, 6.0); +- ++GFAPI_SYMVER_PUBLIC(glfs_fdatasync_async34, glfs_fdatasync_async, 3.4.0) + int + pub_glfs_fdatasync_async34(struct glfs_fd *glfd, glfs_io_cbk34 fn, void *data) + { +@@ -2357,8 +2317,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_fdatasync_async34, glfs_fdatasync_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync_async, 6.0) + int + pub_glfs_fdatasync_async(struct glfs_fd *glfd, glfs_io_cbk fn, void *data) + { +@@ -2375,8 +2334,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync_async, 6.0); +- + static int + glfs_ftruncate_common(struct glfs_fd *glfd, off_t offset, + struct glfs_stat *prestat, struct glfs_stat *poststat) +@@ -2442,14 +2399,14 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC(glfs_ftruncate34, glfs_ftruncate, 3.4.0) + int + pub_glfs_ftruncate34(struct glfs_fd *glfd, off_t offset) + { + return glfs_ftruncate_common(glfd, offset, NULL, NULL); + } + +-GFAPI_SYMVER_PUBLIC(glfs_ftruncate34, glfs_ftruncate, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate, 6.0) + int + pub_glfs_ftruncate(struct glfs_fd *glfd, off_t offset, + struct glfs_stat *prestat, struct glfs_stat *poststat) +@@ -2457,8 +2414,7 @@ pub_glfs_ftruncate(struct glfs_fd *glfd, off_t offset, + return glfs_ftruncate_common(glfd, offset, prestat, poststat); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate, 6.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_truncate, 3.7.15) + int + pub_glfs_truncate(struct glfs *fs, const char *path, off_t length) + { +@@ -2504,8 +2460,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_truncate, 3.7.15); +- + static int + glfs_ftruncate_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno, struct iatt *prebuf, +@@ -2598,6 +2552,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC(glfs_ftruncate_async34, glfs_ftruncate_async, 3.4.0) + int + pub_glfs_ftruncate_async34(struct glfs_fd *glfd, off_t offset, glfs_io_cbk34 fn, + void *data) +@@ -2606,8 +2561,7 @@ pub_glfs_ftruncate_async34(struct glfs_fd *glfd, off_t offset, glfs_io_cbk34 fn, + data); + } + +-GFAPI_SYMVER_PUBLIC(glfs_ftruncate_async34, glfs_ftruncate_async, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate_async, 6.0) + int + pub_glfs_ftruncate_async(struct glfs_fd *glfd, off_t offset, glfs_io_cbk fn, + void *data) +@@ -2615,8 +2569,7 @@ pub_glfs_ftruncate_async(struct glfs_fd *glfd, off_t offset, glfs_io_cbk fn, + return glfs_ftruncate_async_common(glfd, offset, _gf_false, fn, data); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate_async, 6.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_access, 3.4.0) + int + pub_glfs_access(struct glfs *fs, const char *path, int mode) + { +@@ -2662,8 +2615,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_access, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_symlink, 3.4.0) + int + pub_glfs_symlink(struct glfs *fs, const char *data, const char *path) + { +@@ -2753,8 +2705,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_symlink, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readlink, 3.4.0) + int + pub_glfs_readlink(struct glfs *fs, const char *path, char *buf, size_t bufsiz) + { +@@ -2811,8 +2762,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readlink, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mknod, 3.4.0) + int + pub_glfs_mknod(struct glfs *fs, const char *path, mode_t mode, dev_t dev) + { +@@ -2902,8 +2852,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mknod, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mkdir, 3.4.0) + int + pub_glfs_mkdir(struct glfs *fs, const char *path, mode_t mode) + { +@@ -2993,8 +2942,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mkdir, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unlink, 3.4.0) + int + pub_glfs_unlink(struct glfs *fs, const char *path) + { +@@ -3050,8 +2998,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unlink, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rmdir, 3.4.0) + int + pub_glfs_rmdir(struct glfs *fs, const char *path) + { +@@ -3106,8 +3053,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rmdir, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rename, 3.4.0) + int + pub_glfs_rename(struct glfs *fs, const char *oldpath, const char *newpath) + { +@@ -3196,8 +3142,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rename, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_link, 3.4.0) + int + pub_glfs_link(struct glfs *fs, const char *oldpath, const char *newpath) + { +@@ -3283,8 +3228,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_link, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_opendir, 3.4.0) + struct glfs_fd * + pub_glfs_opendir(struct glfs *fs, const char *path) + { +@@ -3365,8 +3309,7 @@ invalid_fs: + return glfd; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_opendir, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_closedir, 3.4.0) + int + pub_glfs_closedir(struct glfs_fd *glfd) + { +@@ -3387,16 +3330,14 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_closedir, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_telldir, 3.4.0) + long + pub_glfs_telldir(struct glfs_fd *fd) + { + return fd->offset; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_telldir, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_seekdir, 3.4.0) + void + pub_glfs_seekdir(struct glfs_fd *fd, long offset) + { +@@ -3425,8 +3366,6 @@ pub_glfs_seekdir(struct glfs_fd *fd, long offset) + */ + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_seekdir, 3.4.0); +- + static int + glfs_discard_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno, +@@ -3517,6 +3456,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC(glfs_discard_async35, glfs_discard_async, 3.5.0) + int + pub_glfs_discard_async35(struct glfs_fd *glfd, off_t offset, size_t len, + glfs_io_cbk34 fn, void *data) +@@ -3525,8 +3465,7 @@ pub_glfs_discard_async35(struct glfs_fd *glfd, off_t offset, size_t len, + data); + } + +-GFAPI_SYMVER_PUBLIC(glfs_discard_async35, glfs_discard_async, 3.5.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard_async, 6.0) + int + pub_glfs_discard_async(struct glfs_fd *glfd, off_t offset, size_t len, + glfs_io_cbk fn, void *data) +@@ -3534,8 +3473,6 @@ pub_glfs_discard_async(struct glfs_fd *glfd, off_t offset, size_t len, + return glfs_discard_async_common(glfd, offset, len, _gf_false, fn, data); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard_async, 6.0); +- + static int + glfs_zerofill_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno, +@@ -3628,6 +3565,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC(glfs_zerofill_async35, glfs_zerofill_async, 3.5.0) + int + pub_glfs_zerofill_async35(struct glfs_fd *glfd, off_t offset, off_t len, + glfs_io_cbk34 fn, void *data) +@@ -3636,8 +3574,7 @@ pub_glfs_zerofill_async35(struct glfs_fd *glfd, off_t offset, off_t len, + data); + } + +-GFAPI_SYMVER_PUBLIC(glfs_zerofill_async35, glfs_zerofill_async, 3.5.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill_async, 6.0) + int + pub_glfs_zerofill_async(struct glfs_fd *glfd, off_t offset, off_t len, + glfs_io_cbk fn, void *data) +@@ -3645,8 +3582,6 @@ pub_glfs_zerofill_async(struct glfs_fd *glfd, off_t offset, off_t len, + return glfs_zerofill_async_common(glfd, offset, len, _gf_false, fn, data); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill_async, 6.0); +- + void + gf_dirent_to_dirent(gf_dirent_t *gf_dirent, struct dirent *dirent) + { +@@ -3806,6 +3741,7 @@ unlock: + return buf; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus_r, 3.4.0) + int + pub_glfs_readdirplus_r(struct glfs_fd *glfd, struct stat *stat, + struct dirent *ext, struct dirent **res) +@@ -3861,8 +3797,7 @@ invalid_fs: + return -1; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus_r, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir_r, 3.4.0) + int + pub_glfs_readdir_r(struct glfs_fd *glfd, struct dirent *buf, + struct dirent **res) +@@ -3870,8 +3805,7 @@ pub_glfs_readdir_r(struct glfs_fd *glfd, struct dirent *buf, + return pub_glfs_readdirplus_r(glfd, 0, buf, res); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir_r, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus, 3.5.0) + struct dirent * + pub_glfs_readdirplus(struct glfs_fd *glfd, struct stat *stat) + { +@@ -3885,16 +3819,14 @@ pub_glfs_readdirplus(struct glfs_fd *glfd, struct stat *stat) + return res; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus, 3.5.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir, 3.5.0) + struct dirent * + pub_glfs_readdir(struct glfs_fd *glfd) + { + return pub_glfs_readdirplus(glfd, NULL); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir, 3.5.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_statvfs, 3.4.0) + int + pub_glfs_statvfs(struct glfs *fs, const char *path, struct statvfs *buf) + { +@@ -3940,8 +3872,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_statvfs, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setattr, 6.0) + int + pub_glfs_setattr(struct glfs *fs, const char *path, struct glfs_stat *stat, + int follow) +@@ -4001,8 +3932,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setattr, 6.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetattr, 6.0) + int + pub_glfs_fsetattr(struct glfs_fd *glfd, struct glfs_stat *stat) + { +@@ -4055,8 +3985,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetattr, 6.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chmod, 3.4.0) + int + pub_glfs_chmod(struct glfs *fs, const char *path, mode_t mode) + { +@@ -4073,8 +4002,7 @@ pub_glfs_chmod(struct glfs *fs, const char *path, mode_t mode) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chmod, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchmod, 3.4.0) + int + pub_glfs_fchmod(struct glfs_fd *glfd, mode_t mode) + { +@@ -4091,8 +4019,7 @@ pub_glfs_fchmod(struct glfs_fd *glfd, mode_t mode) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchmod, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chown, 3.4.0) + int + pub_glfs_chown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) + { +@@ -4117,8 +4044,7 @@ pub_glfs_chown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chown, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lchown, 3.4.0) + int + pub_glfs_lchown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) + { +@@ -4143,8 +4069,7 @@ pub_glfs_lchown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lchown, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchown, 3.4.0) + int + pub_glfs_fchown(struct glfs_fd *glfd, uid_t uid, gid_t gid) + { +@@ -4169,8 +4094,7 @@ pub_glfs_fchown(struct glfs_fd *glfd, uid_t uid, gid_t gid) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchown, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_utimens, 3.4.0) + int + pub_glfs_utimens(struct glfs *fs, const char *path, + const struct timespec times[2]) +@@ -4190,8 +4114,7 @@ pub_glfs_utimens(struct glfs *fs, const char *path, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_utimens, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lutimens, 3.4.0) + int + pub_glfs_lutimens(struct glfs *fs, const char *path, + const struct timespec times[2]) +@@ -4211,8 +4134,7 @@ pub_glfs_lutimens(struct glfs *fs, const char *path, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lutimens, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_futimens, 3.4.0) + int + pub_glfs_futimens(struct glfs_fd *glfd, const struct timespec times[2]) + { +@@ -4231,8 +4153,6 @@ pub_glfs_futimens(struct glfs_fd *glfd, const struct timespec times[2]) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_futimens, 3.4.0); +- + int + glfs_getxattr_process(void *value, size_t size, dict_t *xattr, const char *name) + { +@@ -4332,6 +4252,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getxattr, 3.4.0) + ssize_t + pub_glfs_getxattr(struct glfs *fs, const char *path, const char *name, + void *value, size_t size) +@@ -4339,8 +4260,7 @@ pub_glfs_getxattr(struct glfs *fs, const char *path, const char *name, + return glfs_getxattr_common(fs, path, name, value, size, 1); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getxattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lgetxattr, 3.4.0) + ssize_t + pub_glfs_lgetxattr(struct glfs *fs, const char *path, const char *name, + void *value, size_t size) +@@ -4348,8 +4268,7 @@ pub_glfs_lgetxattr(struct glfs *fs, const char *path, const char *name, + return glfs_getxattr_common(fs, path, name, value, size, 0); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lgetxattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fgetxattr, 3.4.0) + ssize_t + pub_glfs_fgetxattr(struct glfs_fd *glfd, const char *name, void *value, + size_t size) +@@ -4412,8 +4331,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fgetxattr, 3.4.0); +- + int + glfs_listxattr_process(void *value, size_t size, dict_t *xattr) + { +@@ -4497,22 +4414,21 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_listxattr, 3.4.0) + ssize_t + pub_glfs_listxattr(struct glfs *fs, const char *path, void *value, size_t size) + { + return glfs_listxattr_common(fs, path, value, size, 1); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_listxattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_llistxattr, 3.4.0) + ssize_t + pub_glfs_llistxattr(struct glfs *fs, const char *path, void *value, size_t size) + { + return glfs_listxattr_common(fs, path, value, size, 0); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_llistxattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_flistxattr, 3.4.0) + ssize_t + pub_glfs_flistxattr(struct glfs_fd *glfd, void *value, size_t size) + { +@@ -4562,8 +4478,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_flistxattr, 3.4.0); +- + int + glfs_setxattr_common(struct glfs *fs, const char *path, const char *name, + const void *value, size_t size, int flags, int follow) +@@ -4643,6 +4557,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setxattr, 3.4.0) + int + pub_glfs_setxattr(struct glfs *fs, const char *path, const char *name, + const void *value, size_t size, int flags) +@@ -4650,8 +4565,7 @@ pub_glfs_setxattr(struct glfs *fs, const char *path, const char *name, + return glfs_setxattr_common(fs, path, name, value, size, flags, 1); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setxattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lsetxattr, 3.4.0) + int + pub_glfs_lsetxattr(struct glfs *fs, const char *path, const char *name, + const void *value, size_t size, int flags) +@@ -4659,8 +4573,7 @@ pub_glfs_lsetxattr(struct glfs *fs, const char *path, const char *name, + return glfs_setxattr_common(fs, path, name, value, size, flags, 0); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lsetxattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetxattr, 3.4.0) + int + pub_glfs_fsetxattr(struct glfs_fd *glfd, const char *name, const void *value, + size_t size, int flags) +@@ -4735,8 +4648,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetxattr, 3.4.0); +- + int + glfs_removexattr_common(struct glfs *fs, const char *path, const char *name, + int follow) +@@ -4787,22 +4698,21 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_removexattr, 3.4.0) + int + pub_glfs_removexattr(struct glfs *fs, const char *path, const char *name) + { + return glfs_removexattr_common(fs, path, name, 1); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_removexattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lremovexattr, 3.4.0) + int + pub_glfs_lremovexattr(struct glfs *fs, const char *path, const char *name) + { + return glfs_removexattr_common(fs, path, name, 0); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lremovexattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fremovexattr, 3.4.0) + int + pub_glfs_fremovexattr(struct glfs_fd *glfd, const char *name) + { +@@ -4845,8 +4755,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fremovexattr, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fallocate, 3.5.0) + int + pub_glfs_fallocate(struct glfs_fd *glfd, int keep_size, off_t offset, + size_t len) +@@ -4897,8 +4806,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fallocate, 3.5.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard, 3.5.0) + int + pub_glfs_discard(struct glfs_fd *glfd, off_t offset, size_t len) + { +@@ -4948,8 +4856,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard, 3.5.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill, 3.5.0) + int + pub_glfs_zerofill(struct glfs_fd *glfd, off_t offset, off_t len) + { +@@ -4997,8 +4904,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill, 3.5.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chdir, 3.4.0) + int + pub_glfs_chdir(struct glfs *fs, const char *path) + { +@@ -5048,8 +4954,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chdir, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchdir, 3.4.0) + int + pub_glfs_fchdir(struct glfs_fd *glfd) + { +@@ -5101,8 +5006,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchdir, 3.4.0); +- + static gf_boolean_t warn_realpath = _gf_true; /* log once */ + + static char * +@@ -5185,22 +5088,21 @@ invalid_fs: + return retpath; + } + ++GFAPI_SYMVER_PUBLIC(glfs_realpath34, glfs_realpath, 3.4.0) + char * + pub_glfs_realpath34(struct glfs *fs, const char *path, char *resolved_path) + { + return glfs_realpath_common(fs, path, resolved_path, _gf_true); + } + +-GFAPI_SYMVER_PUBLIC(glfs_realpath34, glfs_realpath, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_realpath, 3.7.17) + char * + pub_glfs_realpath(struct glfs *fs, const char *path, char *resolved_path) + { + return glfs_realpath_common(fs, path, resolved_path, _gf_false); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_realpath, 3.7.17); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getcwd, 3.4.0) + char * + pub_glfs_getcwd(struct glfs *fs, char *buf, size_t n) + { +@@ -5249,8 +5151,6 @@ invalid_fs: + return buf; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getcwd, 3.4.0); +- + static void + gf_flock_to_flock(struct gf_flock *gf_flock, struct flock *flock) + { +@@ -5357,6 +5257,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_file_lock, 4.0.0) + int + pub_glfs_file_lock(struct glfs_fd *glfd, int cmd, struct flock *flock, + glfs_lock_mode_t lk_mode) +@@ -5393,16 +5294,14 @@ out: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_file_lock, 4.0.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_posix_lock, 3.4.0) + int + pub_glfs_posix_lock(struct glfs_fd *glfd, int cmd, struct flock *flock) + { + return glfs_lock_common(glfd, cmd, flock, NULL); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_posix_lock, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fd_set_lkowner, 3.10.7) + int + pub_glfs_fd_set_lkowner(struct glfs_fd *glfd, void *data, int len) + { +@@ -5438,8 +5337,8 @@ out: + invalid_fs: + return ret; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fd_set_lkowner, 3.10.7); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_dup, 3.4.0) + struct glfs_fd * + pub_glfs_dup(struct glfs_fd *glfd) + { +@@ -5490,8 +5389,6 @@ invalid_fs: + return dupfd; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_dup, 3.4.0); +- + static void + glfs_enqueue_upcall_data(struct glfs *fs, struct gf_upcall *upcall_data) + { +@@ -5976,6 +5873,7 @@ out: + * Otherwise all the upcall events are queued up in a list + * to be read/polled by the applications. + */ ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_process_upcall_event, 3.7.0) + void + priv_glfs_process_upcall_event(struct glfs *fs, void *data) + { +@@ -6043,7 +5941,6 @@ out: + err: + return; + } +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_process_upcall_event, 3.7.0); + + ssize_t + glfs_anonymous_pwritev(struct glfs *fs, struct glfs_object *object, +@@ -6229,6 +6126,7 @@ glfs_release_xreaddirp_stat(void *ptr) + * Given glfd of a directory, this function does readdirp and returns + * xstat along with dirents. + */ ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_r, 3.11.0) + int + pub_glfs_xreaddirplus_r(struct glfs_fd *glfd, uint32_t flags, + struct glfs_xreaddirp_stat **xstat_p, +@@ -6337,8 +6235,8 @@ out: + invalid_fs: + return -1; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_r, 3.11.0); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_stat, 3.11.0) + struct stat * + pub_glfs_xreaddirplus_get_stat(struct glfs_xreaddirp_stat *xstat) + { +@@ -6354,7 +6252,6 @@ pub_glfs_xreaddirplus_get_stat(struct glfs_xreaddirp_stat *xstat) + out: + return NULL; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_stat, 3.11.0); + + void + gf_lease_to_glfs_lease(struct gf_lease *gf_lease, struct glfs_lease *lease) +@@ -6374,6 +6271,7 @@ glfs_lease_to_gf_lease(struct glfs_lease *lease, struct gf_lease *gf_lease) + memcpy(gf_lease->lease_id, lease->lease_id, LEASE_ID_SIZE); + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lease, 4.0.0) + int + pub_glfs_lease(struct glfs_fd *glfd, struct glfs_lease *lease, + glfs_recall_cbk fn, void *data) +@@ -6475,5 +6373,3 @@ out: + invalid_fs: + return ret; + } +- +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lease, 4.0.0); +diff --git a/api/src/glfs-handleops.c b/api/src/glfs-handleops.c +index cdac07124..53c2ee896 100644 +--- a/api/src/glfs-handleops.c ++++ b/api/src/glfs-handleops.c +@@ -60,6 +60,7 @@ glfs_iatt_from_stat(struct stat *stat, int valid, struct iatt *iatt, + return; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lookupat, 3.7.4) + struct glfs_object * + pub_glfs_h_lookupat(struct glfs *fs, struct glfs_object *parent, + const char *path, struct stat *stat, int follow) +@@ -126,8 +127,7 @@ invalid_fs: + return object; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lookupat, 3.7.4); +- ++GFAPI_SYMVER_PUBLIC(glfs_h_lookupat34, glfs_h_lookupat, 3.4.2) + struct glfs_object * + pub_glfs_h_lookupat34(struct glfs *fs, struct glfs_object *parent, + const char *path, struct stat *stat) +@@ -135,8 +135,7 @@ pub_glfs_h_lookupat34(struct glfs *fs, struct glfs_object *parent, + return pub_glfs_h_lookupat(fs, parent, path, stat, 0); + } + +-GFAPI_SYMVER_PUBLIC(glfs_h_lookupat34, glfs_h_lookupat, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_statfs, 3.7.0) + int + pub_glfs_h_statfs(struct glfs *fs, struct glfs_object *object, + struct statvfs *statvfs) +@@ -194,8 +193,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_statfs, 3.7.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_stat, 3.4.2) + int + pub_glfs_h_stat(struct glfs *fs, struct glfs_object *object, struct stat *stat) + { +@@ -259,8 +257,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_stat, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getattrs, 3.4.2) + int + pub_glfs_h_getattrs(struct glfs *fs, struct glfs_object *object, + struct stat *stat) +@@ -317,8 +314,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getattrs, 3.4.2); +- + int + glfs_h_getxattrs_common(struct glfs *fs, struct glfs_object *object, + dict_t **xattr, const char *name, +@@ -380,6 +375,7 @@ out: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getxattrs, 3.5.1) + int + pub_glfs_h_getxattrs(struct glfs *fs, struct glfs_object *object, + const char *name, void *value, size_t size) +@@ -416,8 +412,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getxattrs, 3.5.1); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setattrs, 3.4.2) + int + pub_glfs_h_setattrs(struct glfs *fs, struct glfs_object *object, + struct stat *stat, int valid) +@@ -480,8 +475,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setattrs, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setxattrs, 3.5.0) + int + pub_glfs_h_setxattrs(struct glfs *fs, struct glfs_object *object, + const char *name, const void *value, size_t size, +@@ -568,8 +562,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setxattrs, 3.5.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_removexattrs, 3.5.1) + int + pub_glfs_h_removexattrs(struct glfs *fs, struct glfs_object *object, + const char *name) +@@ -626,8 +619,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_removexattrs, 3.5.1); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_open, 3.4.2) + struct glfs_fd * + pub_glfs_h_open(struct glfs *fs, struct glfs_object *object, int flags) + { +@@ -727,8 +719,7 @@ invalid_fs: + return glfd; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_open, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat, 3.4.2) + struct glfs_object * + pub_glfs_h_creat(struct glfs *fs, struct glfs_object *parent, const char *path, + int flags, mode_t mode, struct stat *stat) +@@ -840,8 +831,7 @@ invalid_fs: + return object; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat_open, 6.6) + struct glfs_object * + pub_glfs_h_creat_open(struct glfs *fs, struct glfs_object *parent, + const char *path, int flags, mode_t mode, +@@ -975,8 +965,7 @@ invalid_fs: + return object; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat_open, 6.6); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mkdir, 3.4.2) + struct glfs_object * + pub_glfs_h_mkdir(struct glfs *fs, struct glfs_object *parent, const char *path, + mode_t mode, struct stat *stat) +@@ -1074,8 +1063,7 @@ invalid_fs: + return object; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mkdir, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mknod, 3.4.2) + struct glfs_object * + pub_glfs_h_mknod(struct glfs *fs, struct glfs_object *parent, const char *path, + mode_t mode, dev_t dev, struct stat *stat) +@@ -1172,8 +1160,7 @@ invalid_fs: + return object; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mknod, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_unlink, 3.4.2) + int + pub_glfs_h_unlink(struct glfs *fs, struct glfs_object *parent, const char *path) + { +@@ -1244,8 +1231,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_unlink, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_opendir, 3.4.2) + struct glfs_fd * + pub_glfs_h_opendir(struct glfs *fs, struct glfs_object *object) + { +@@ -1327,8 +1313,7 @@ invalid_fs: + return glfd; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_opendir, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_access, 3.6.0) + int + pub_glfs_h_access(struct glfs *fs, struct glfs_object *object, int mask) + { +@@ -1385,8 +1370,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_access, 3.6.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_extract_handle, 3.4.2) + ssize_t + pub_glfs_h_extract_handle(struct glfs_object *object, unsigned char *handle, + int len) +@@ -1417,8 +1401,7 @@ out: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_extract_handle, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_create_from_handle, 3.4.2) + struct glfs_object * + pub_glfs_h_create_from_handle(struct glfs *fs, unsigned char *handle, int len, + struct stat *stat) +@@ -1541,8 +1524,7 @@ invalid_fs: + return object; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_create_from_handle, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_close, 3.4.2) + int + pub_glfs_h_close(struct glfs_object *object) + { +@@ -1555,8 +1537,7 @@ pub_glfs_h_close(struct glfs_object *object) + return 0; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_close, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_truncate, 3.4.2) + int + pub_glfs_h_truncate(struct glfs *fs, struct glfs_object *object, off_t offset) + { +@@ -1616,8 +1597,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_truncate, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_symlink, 3.4.2) + struct glfs_object * + pub_glfs_h_symlink(struct glfs *fs, struct glfs_object *parent, + const char *name, const char *data, struct stat *stat) +@@ -1716,8 +1696,7 @@ invalid_fs: + return object; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_symlink, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_readlink, 3.4.2) + int + pub_glfs_h_readlink(struct glfs *fs, struct glfs_object *object, char *buf, + size_t bufsiz) +@@ -1782,8 +1761,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_readlink, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_link, 3.4.2) + int + pub_glfs_h_link(struct glfs *fs, struct glfs_object *linksrc, + struct glfs_object *parent, const char *name) +@@ -1880,8 +1858,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_link, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_rename, 3.4.2) + int + pub_glfs_h_rename(struct glfs *fs, struct glfs_object *olddir, + const char *oldname, struct glfs_object *newdir, +@@ -1991,8 +1968,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_rename, 3.4.2); +- + /* + * Given a handle/gfid, find if the corresponding inode is present in + * the inode table. If yes create and return the corresponding glfs_object. +@@ -2200,6 +2175,7 @@ glfs_release_upcall(void *ptr) + * calling glfs_fini(..). Hence making an assumption that 'fs' & ctx structures + * cannot be freed while in this routine. + */ ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_poll_upcall, 3.7.16) + int + pub_glfs_h_poll_upcall(struct glfs *fs, struct glfs_upcall **up_arg) + { +@@ -2317,8 +2293,6 @@ err: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_poll_upcall, 3.7.16); +- + static gf_boolean_t log_upcall370 = _gf_true; /* log once */ + + /* The old glfs_h_poll_upcall interface requires intimate knowledge of the +@@ -2332,6 +2306,7 @@ static gf_boolean_t log_upcall370 = _gf_true; /* log once */ + * + * WARNING: this function will be removed in the future. + */ ++GFAPI_SYMVER_PUBLIC(glfs_h_poll_upcall370, glfs_h_poll_upcall, 3.7.0) + int + pub_glfs_h_poll_upcall370(struct glfs *fs, struct glfs_callback_arg *up_arg) + { +@@ -2399,12 +2374,11 @@ out: + return ret; + } + +-GFAPI_SYMVER_PUBLIC(glfs_h_poll_upcall370, glfs_h_poll_upcall, 3.7.0); +- + #ifdef HAVE_ACL_LIBACL_H + #include + #include + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0) + int + pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, + const acl_type_t type, const acl_t acl) +@@ -2453,6 +2427,7 @@ invalid_fs: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0) + acl_t + pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, + const acl_type_t type) +@@ -2507,6 +2482,7 @@ invalid_fs: + return acl; + } + #else /* !HAVE_ACL_LIBACL_H */ ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0) + acl_t + pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, + const acl_type_t type) +@@ -2515,6 +2491,7 @@ pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, + return NULL; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0) + int + pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, + const acl_type_t type, const acl_t acl) +@@ -2523,10 +2500,9 @@ pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, + return -1; + } + #endif +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0); +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0); + + /* The API to perform read using anonymous fd */ ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_read, 3.7.0) + ssize_t + pub_glfs_h_anonymous_read(struct glfs *fs, struct glfs_object *object, + const void *buf, size_t count, off_t offset) +@@ -2550,9 +2526,8 @@ pub_glfs_h_anonymous_read(struct glfs *fs, struct glfs_object *object, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_read, 3.7.0); +- + /* The API to perform write using anonymous fd */ ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_write, 3.7.0) + ssize_t + pub_glfs_h_anonymous_write(struct glfs *fs, struct glfs_object *object, + const void *buf, size_t count, off_t offset) +@@ -2576,8 +2551,7 @@ pub_glfs_h_anonymous_write(struct glfs *fs, struct glfs_object *object, + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_write, 3.7.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_object_copy, 3.11.0) + struct glfs_object * + pub_glfs_object_copy(struct glfs_object *src) + { +@@ -2599,8 +2573,8 @@ pub_glfs_object_copy(struct glfs_object *src) + out: + return object; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_object_copy, 3.11.0); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_object, 3.11.0) + struct glfs_object * + pub_glfs_xreaddirplus_get_object(struct glfs_xreaddirp_stat *xstat) + { +@@ -2616,8 +2590,8 @@ pub_glfs_xreaddirplus_get_object(struct glfs_xreaddirp_stat *xstat) + out: + return NULL; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_object, 3.11.0); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lease, 4.0.0) + int + pub_glfs_h_lease(struct glfs *fs, struct glfs_object *object, + struct glfs_lease *lease) +@@ -2679,5 +2653,3 @@ out: + invalid_fs: + return ret; + } +- +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lease, 4.0.0); +diff --git a/api/src/glfs-internal.h b/api/src/glfs-internal.h +index 2a50e1d46..7cc3b18a1 100644 +--- a/api/src/glfs-internal.h ++++ b/api/src/glfs-internal.h +@@ -81,25 +81,40 @@ + #ifndef GFAPI_PRIVATE + #define GFAPI_PRIVATE(sym, ver) /**/ + #endif ++#if __GNUC__ >= 10 + #define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, ver) \ +- asm(".symver pub_" STR(fn) ", " STR(fn) "@@GFAPI_" STR(ver)) ++ __attribute__((__symver__(STR(fn) "@@GFAPI_" STR(ver)))) + + #define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, ver) \ +- asm(".symver priv_" STR(fn) ", " STR(fn) "@@GFAPI_PRIVATE_" STR(ver)) ++ __attribute__((__symver__(STR(fn) "@@GFAPI_PRIVATE_" STR(ver)))) + + #define GFAPI_SYMVER_PUBLIC(fn1, fn2, ver) \ +- asm(".symver pub_" STR(fn1) ", " STR(fn2) "@GFAPI_" STR(ver)) ++ __attribute__((__symver__(STR(fn2) "@GFAPI_" STR(ver)))) + + #define GFAPI_SYMVER_PRIVATE(fn1, fn2, ver) \ +- asm(".symver priv_" STR(fn1) ", " STR(fn2) "@GFAPI_PRIVATE_" STR(ver)) ++ __attribute__((__symver__(STR(fn2) "@GFAPI_PRIVATE_" STR(ver)))) ++ ++#else ++#define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, ver) \ ++ asm(".symver pub_" STR(fn) ", " STR(fn) "@@GFAPI_" STR(ver)); ++ ++#define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, ver) \ ++ asm(".symver priv_" STR(fn) ", " STR(fn) "@@GFAPI_PRIVATE_" STR(ver)); ++ ++#define GFAPI_SYMVER_PUBLIC(fn1, fn2, ver) \ ++ asm(".symver pub_" STR(fn1) ", " STR(fn2) "@GFAPI_" STR(ver)); ++ ++#define GFAPI_SYMVER_PRIVATE(fn1, fn2, ver) \ ++ asm(".symver priv_" STR(fn1) ", " STR(fn2) "@GFAPI_PRIVATE_" STR(ver)); ++#endif + #define STR(str) #str + #else + #ifndef GFAPI_PUBLIC +-#define GFAPI_PUBLIC(sym, ver) __asm("_" __STRING(sym) "$GFAPI_" __STRING(ver)) ++#define GFAPI_PUBLIC(sym, ver) __asm("_" __STRING(sym) "$GFAPI_" __STRING(ver)); + #endif + #ifndef GFAPI_PRIVATE + #define GFAPI_PRIVATE(sym, ver) \ +- __asm("_" __STRING(sym) "$GFAPI_PRIVATE_" __STRING(ver)) ++ __asm("_" __STRING(sym) "$GFAPI_PRIVATE_" __STRING(ver)); + #endif + #define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, dotver) /**/ + #define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, dotver) /**/ +diff --git a/api/src/glfs-mgmt.c b/api/src/glfs-mgmt.c +index 7271e35ec..08df2b1a4 100644 +--- a/api/src/glfs-mgmt.c ++++ b/api/src/glfs-mgmt.c +@@ -364,6 +364,7 @@ out: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volumeid, 3.5.0) + int + pub_glfs_get_volumeid(struct glfs *fs, char *volid, size_t size) + { +@@ -418,8 +419,6 @@ invalid_fs: + return -1; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volumeid, 3.5.0); +- + int + glfs_get_volume_info(struct glfs *fs) + { +diff --git a/api/src/glfs-resolve.c b/api/src/glfs-resolve.c +index 7b60eef00..8a393ecb4 100644 +--- a/api/src/glfs-resolve.c ++++ b/api/src/glfs-resolve.c +@@ -162,6 +162,7 @@ __glfs_refresh_inode(struct glfs *fs, xlator_t *subvol, inode_t *inode, + return newinode; + } + ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_loc_touchup, 3.4.0) + int + priv_glfs_loc_touchup(loc_t *loc) + { +@@ -176,8 +177,6 @@ priv_glfs_loc_touchup(loc_t *loc) + return ret; + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_loc_touchup, 3.4.0); +- + int + glfs_resolve_symlink(struct glfs *fs, xlator_t *subvol, inode_t *inode, + char **lpath) +@@ -467,6 +466,7 @@ out: + return inode; + } + ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve_at, 3.4.0) + int + priv_glfs_resolve_at(struct glfs *fs, xlator_t *subvol, inode_t *at, + const char *origpath, loc_t *loc, struct iatt *iatt, +@@ -617,8 +617,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve_at, 3.4.0); +- + int + glfs_resolve_path(struct glfs *fs, xlator_t *subvol, const char *origpath, + loc_t *loc, struct iatt *iatt, int follow, int reval) +@@ -647,6 +645,7 @@ out: + return ret; + } + ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve, 3.7.0) + int + priv_glfs_resolve(struct glfs *fs, xlator_t *subvol, const char *origpath, + loc_t *loc, struct iatt *iatt, int reval) +@@ -657,7 +656,6 @@ priv_glfs_resolve(struct glfs *fs, xlator_t *subvol, const char *origpath, + + return ret; + } +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve, 3.7.0); + + int + glfs_lresolve(struct glfs *fs, xlator_t *subvol, const char *origpath, +@@ -978,6 +976,7 @@ __glfs_active_subvol(struct glfs *fs) + return new_subvol; + } + ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_subvol_done, 3.4.0) + void + priv_glfs_subvol_done(struct glfs *fs, xlator_t *subvol) + { +@@ -1005,8 +1004,7 @@ priv_glfs_subvol_done(struct glfs *fs, xlator_t *subvol) + } + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_subvol_done, 3.4.0); +- ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_active_subvol, 3.4.0) + xlator_t * + priv_glfs_active_subvol(struct glfs *fs) + { +@@ -1034,8 +1032,6 @@ priv_glfs_active_subvol(struct glfs *fs) + return subvol; + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_active_subvol, 3.4.0); +- + int + __glfs_cwd_set(struct glfs *fs, inode_t *inode) + { +diff --git a/api/src/glfs.c b/api/src/glfs.c +index 93e0938b8..5259356b4 100644 +--- a/api/src/glfs.c ++++ b/api/src/glfs.c +@@ -275,6 +275,7 @@ out: + + /////////////////////////////////////////////////////////////////////////////// + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_xlator_option, 3.4.0) + int + pub_glfs_set_xlator_option(struct glfs *fs, const char *xlator, const char *key, + const char *value) +@@ -324,8 +325,7 @@ invalid_fs: + return -1; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_xlator_option, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unset_volfile_server, 3.5.1) + int + pub_glfs_unset_volfile_server(struct glfs *fs, const char *transport, + const char *host, const int port) +@@ -385,8 +385,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unset_volfile_server, 3.5.1); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile_server, 3.4.0) + int + pub_glfs_set_volfile_server(struct glfs *fs, const char *transport, + const char *host, int port) +@@ -465,8 +464,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile_server, 3.4.0); +- + /* * + * Used to free the arguments allocated by glfs_set_volfile_server() + */ +@@ -509,6 +506,7 @@ glfs_free_xlator_options(cmd_args_t *cmd_args) + } + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsuid, 3.4.2) + int + pub_glfs_setfsuid(uid_t fsuid) + { +@@ -518,8 +516,7 @@ pub_glfs_setfsuid(uid_t fsuid) + return syncopctx_setfsuid(&fsuid); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsuid, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgid, 3.4.2) + int + pub_glfs_setfsgid(gid_t fsgid) + { +@@ -529,8 +526,7 @@ pub_glfs_setfsgid(gid_t fsgid) + return syncopctx_setfsgid(&fsgid); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgid, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgroups, 3.4.2) + int + pub_glfs_setfsgroups(size_t size, const gid_t *list) + { +@@ -540,8 +536,7 @@ pub_glfs_setfsgroups(size_t size, const gid_t *list) + return syncopctx_setfsgroups(size, list); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgroups, 3.4.2); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsleaseid, 4.0.0) + int + pub_glfs_setfsleaseid(glfs_leaseid_t leaseid) + { +@@ -563,8 +558,6 @@ pub_glfs_setfsleaseid(glfs_leaseid_t leaseid) + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsleaseid, 4.0.0); +- + int + get_fop_attr_glfd(dict_t **fop_attr, struct glfs_fd *glfd) + { +@@ -652,14 +645,14 @@ unset_fop_attr(dict_t **fop_attr) + *fop_attr = NULL; + } + } ++ ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_from_glfd, 3.4.0) + struct glfs * + pub_glfs_from_glfd(struct glfs_fd *glfd) + { + return glfd->fs; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_from_glfd, 3.4.0); +- + static void + glfs_fd_destroy(struct glfs_fd *glfd) + { +@@ -808,6 +801,7 @@ unlock: + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_new, 3.4.0) + struct glfs * + pub_glfs_new(const char *volname) + { +@@ -914,8 +908,7 @@ out: + return fs; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_new, 3.4.0); +- ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_new_from_ctx, 3.7.0) + struct glfs * + priv_glfs_new_from_ctx(glusterfs_ctx_t *ctx) + { +@@ -934,8 +927,7 @@ out: + return fs; + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_new_from_ctx, 3.7.0); +- ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_free_from_ctx, 3.7.0) + void + priv_glfs_free_from_ctx(struct glfs *fs) + { +@@ -971,8 +963,7 @@ priv_glfs_free_from_ctx(struct glfs *fs) + FREE(fs); + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_free_from_ctx, 3.7.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile, 3.4.0) + int + pub_glfs_set_volfile(struct glfs *fs, const char *volfile) + { +@@ -989,8 +980,7 @@ pub_glfs_set_volfile(struct glfs *fs, const char *volfile) + return 0; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_logging, 3.4.0) + int + pub_glfs_set_logging(struct glfs *fs, const char *logfile, int loglevel) + { +@@ -1028,8 +1018,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_logging, 3.4.0); +- + int + glfs_init_wait(struct glfs *fs) + { +@@ -1048,6 +1036,7 @@ glfs_init_wait(struct glfs *fs) + return ret; + } + ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_init_done, 3.4.0) + void + priv_glfs_init_done(struct glfs *fs, int ret) + { +@@ -1078,8 +1067,6 @@ out: + return; + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_init_done, 3.4.0); +- + int + glfs_init_common(struct glfs *fs) + { +@@ -1119,6 +1106,7 @@ glfs_init_async(struct glfs *fs, glfs_init_cbk cbk) + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_init, 3.4.0) + int + pub_glfs_init(struct glfs *fs) + { +@@ -1151,8 +1139,6 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_init, 3.4.0); +- + static int + glusterfs_ctx_destroy(glusterfs_ctx_t *ctx) + { +@@ -1230,6 +1216,7 @@ glusterfs_ctx_destroy(glusterfs_ctx_t *ctx) + return ret; + } + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fini, 3.4.0) + int + pub_glfs_fini(struct glfs *fs) + { +@@ -1420,8 +1407,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fini, 3.4.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volfile, 3.6.0) + ssize_t + pub_glfs_get_volfile(struct glfs *fs, void *buf, size_t len) + { +@@ -1447,8 +1433,7 @@ invalid_fs: + return res; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volfile, 3.6.0); +- ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_ipc, 3.12.0) + int + priv_glfs_ipc(struct glfs *fs, int opcode, void *xd_in, void **xd_out) + { +@@ -1476,8 +1461,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_ipc, 3.12.0); +- ++GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_setfspid, 6.1) + int + priv_glfs_setfspid(struct glfs *fs, pid_t pid) + { +@@ -1491,107 +1475,104 @@ priv_glfs_setfspid(struct glfs *fs, pid_t pid) + + return ret; + } +-GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_setfspid, 6.1); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_free, 3.7.16) + void + pub_glfs_free(void *ptr) + { + GLFS_FREE(ptr); + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_free, 3.7.16); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_fs, 3.7.16) + struct glfs * + pub_glfs_upcall_get_fs(struct glfs_upcall *arg) + { + return arg->fs; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_fs, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_reason, 3.7.16) + enum glfs_upcall_reason + pub_glfs_upcall_get_reason(struct glfs_upcall *arg) + { + return arg->reason; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_reason, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_event, 3.7.16) + void * + pub_glfs_upcall_get_event(struct glfs_upcall *arg) + { + return arg->event; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_event, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_object, 3.7.16) + struct glfs_object * + pub_glfs_upcall_inode_get_object(struct glfs_upcall_inode *arg) + { + return arg->object; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_object, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_flags, 3.7.16) + uint64_t + pub_glfs_upcall_inode_get_flags(struct glfs_upcall_inode *arg) + { + return arg->flags; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_flags, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_stat, 3.7.16) + struct stat * + pub_glfs_upcall_inode_get_stat(struct glfs_upcall_inode *arg) + { + return &arg->buf; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_stat, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_expire, 3.7.16) + uint64_t + pub_glfs_upcall_inode_get_expire(struct glfs_upcall_inode *arg) + { + return arg->expire_time_attr; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_expire, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pobject, 3.7.16) + struct glfs_object * + pub_glfs_upcall_inode_get_pobject(struct glfs_upcall_inode *arg) + { + return arg->p_object; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pobject, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pstat, 3.7.16) + struct stat * + pub_glfs_upcall_inode_get_pstat(struct glfs_upcall_inode *arg) + { + return &arg->p_buf; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pstat, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpobject, 3.7.16) + struct glfs_object * + pub_glfs_upcall_inode_get_oldpobject(struct glfs_upcall_inode *arg) + { + return arg->oldp_object; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpobject, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpstat, 3.7.16) + struct stat * + pub_glfs_upcall_inode_get_oldpstat(struct glfs_upcall_inode *arg) + { + return &arg->oldp_buf; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpstat, 3.7.16); + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_object, 4.1.6) + struct glfs_object * + pub_glfs_upcall_lease_get_object(struct glfs_upcall_lease *arg) + { + return arg->object; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_object, 4.1.6); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_lease_type, 4.1.6) + uint32_t + pub_glfs_upcall_lease_get_lease_type(struct glfs_upcall_lease *arg) + { + return arg->lease_type; + } +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_lease_type, 4.1.6); + + /* definitions of the GLFS_SYSRQ_* chars are in glfs.h */ + static struct glfs_sysrq_help { +@@ -1601,6 +1582,7 @@ static struct glfs_sysrq_help { + {GLFS_SYSRQ_STATEDUMP, "(S)tatedump"}, + {0, NULL}}; + ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_sysrq, 3.10.0) + int + pub_glfs_sysrq(struct glfs *fs, char sysrq) + { +@@ -1649,8 +1631,7 @@ out: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_sysrq, 3.10.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_register, 3.13.0) + int + pub_glfs_upcall_register(struct glfs *fs, uint32_t event_list, + glfs_upcall_cbk cbk, void *data) +@@ -1706,8 +1687,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_register, 3.13.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_unregister, 3.13.0) + int + pub_glfs_upcall_unregister(struct glfs *fs, uint32_t event_list) + { +@@ -1754,8 +1734,7 @@ invalid_fs: + return ret; + } + +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_unregister, 3.13.0); +- ++GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_statedump_path, 7.0) + int + pub_glfs_set_statedump_path(struct glfs *fs, const char *path) + { +@@ -1815,5 +1794,3 @@ err: + invalid_fs: + return -1; + } +- +-GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_statedump_path, 7.0); +-- +2.26.2 + diff --git a/glusterfs.spec b/glusterfs.spec index c35fdb2..97f82e1 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,6 +1,3 @@ -# This package depends on automagic byte compilation -# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 -%global _python_bytecompile_extra 1 %global _hardened_build 1 @@ -186,7 +183,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.0 -Release: 0.2%{?dev:%{dev}}%{?dist} +Release: 0.3%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -203,6 +200,7 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif +Patch0001: 0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch Requires(pre): shadow-utils BuildRequires: systemd @@ -662,6 +660,7 @@ This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?dev} +%patch0001 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -670,14 +669,6 @@ done %endif %build -# This package uses top level ASM constructs which are incompatible with LTO. -# Top level ASMs are often used to implement symbol versioning. gcc-10 -# introduces a new mechanism for symbol versioning which works with LTO. -# Converting packages to use that mechanism instead of toplevel ASMs is -# recommended. -# Disable LTO -%define _lto_cflags %{nil} - sed -i -e 's/--quiet//' configure.ac ./autogen.sh && %configure \ %{?_with_asan} \ @@ -1443,6 +1434,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Sat Jul 4 2020 Kaleb S. KEITHLEY - 8.0-0.3rc0 +- 8.0 fix symbol versions, enable LTO + * Wed Jul 1 2020 Jeff Law - 8.0-0.2rc0 - Disable LTO From 1a0a222ee238cd10ad07361a58d73ae510b0abbf Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 6 Jul 2020 08:20:56 -0400 Subject: [PATCH 044/116] 8.0 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 318 ++++++++++++++++++++++++++++++++++++------------- sources | 2 +- 2 files changed, 234 insertions(+), 86 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 97f82e1..9719845 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -4,7 +4,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -%global dev rc0 +# %%global dev rc0 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted @@ -183,7 +183,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.0 -Release: 0.3%{?dev:%{dev}}%{?dist} +Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -205,7 +205,9 @@ Patch0001: 0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patc Requires(pre): shadow-utils BuildRequires: systemd -Requires: %{name}-libs = %{version}-%{release} +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Requires: libgfrpc0%{?_isa} = %{version}-%{release} +Requires: libgfxdr0%{?_isa} = %{version}-%{release} %{?systemd_requires} Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig @@ -272,42 +274,10 @@ This package includes the glusterfs binary, the glusterfsd daemon and the libglusterfs and glusterfs translator modules common to both GlusterFS server and client framework. -%package api -Summary: GlusterFS api library -Requires: %{name} = %{version}-%{release} -Requires: %{name}-client-xlators = %{version}-%{release} -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig - -%description api -GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over TCP/IP interconnect -into one large parallel network filesystem. GlusterFS is one of the -most sophisticated file systems in terms of features and extensibility. -It borrows a powerful concept called Translators from GNU Hurd kernel. -Much of the code in GlusterFS is in user space and easily manageable. - -This package provides the glusterfs libgfapi library. - -%package api-devel -Summary: Development Libraries -Requires: %{name} = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} -Requires: libacl-devel - -%description api-devel -GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over TCP/IP interconnect -into one large parallel network filesystem. GlusterFS is one of the -most sophisticated file systems in terms of features and extensibility. -It borrows a powerful concept called Translators from GNU Hurd kernel. -Much of the code in GlusterFS is in user space and easily manageable. - -This package provides the api include files. - %package cli Summary: GlusterFS CLI -Requires: %{name}-libs = %{version}-%{release} +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Requires: libglusterd0%{?_isa} = %{version}-%{release} %description cli GlusterFS is a distributed file-system capable of scaling to several @@ -346,23 +316,6 @@ Much of the code in GlusterFS is in user space and easily manageable. This package provides cloudsync plugins for archival feature. -%package devel -Summary: Development Libraries -Requires: %{name} = %{version}-%{release} -# Needed for the Glupy examples to work -Requires: %{name}-extra-xlators = %{version}-%{release} - -%description devel -GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over TCP/IP interconnect -into one large parallel network filesystem. GlusterFS is one of the -most sophisticated file systems in terms of features and extensibility. -It borrows a powerful concept called Translators from GNU Hurd kernel. -Much of the code in GlusterFS is in user space and easily manageable. - -This package provides the development libraries and include files. - - %if ( 0%{!?_without_events:1} ) %package events Summary: GlusterFS Events @@ -516,12 +469,16 @@ is in user space and easily manageable. This package provides the glusterfs legacy gNFS server xlator %endif -%package libs -Summary: GlusterFS common libraries +%package -n libglusterfs0 +Summary: GlusterFS libglusterfs library Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig +Requires: libgfrpc0%{?_isa} = %{version}-%{release} +Requires: libgfxdr0%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-libs <= %{version}-%{release} +Provides: %{name}-libs = %{version}-%{release} -%description libs +%description -n libglusterfs0 GlusterFS is a distributed file-system capable of scaling to several petabytes. It aggregates various storage bricks over TCP/IP interconnect into one large parallel network filesystem. GlusterFS is one of the @@ -529,7 +486,163 @@ most sophisticated file systems in terms of features and extensibility. It borrows a powerful concept called Translators from GNU Hurd kernel. Much of the code in GlusterFS is in user space and easily manageable. -This package provides the base GlusterFS libraries +This package provides the base libglusterfs library + +%package -n libglusterfs-devel +Summary: GlusterFS libglusterfs library +Requires: libgfrpc-devel%{?_isa} = %{version}-%{release} +Requires: libgfxdr-devel%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-devel <= %{version}-%{release} +Provides: %{name}-devel = %{version}-%{release} + +%description -n libglusterfs-devel +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides libglusterfs.so and the gluster C header files. + +%package -n libgfapi0 +Summary: GlusterFS api library +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-api <= %{version}-%{release} +Provides: %{name}-api = %{version}-%{release} + +%description -n libgfapi0 +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides the glusterfs libgfapi library. + +%package -n libgfapi-devel +Summary: Development Libraries +Requires: libglusterfs-devel%{?_isa} = %{version}-%{release} +Requires: libacl-devel +Obsoletes: %{name}-api-devel <= %{version}-%{release} +Provides: %{name}-api-devel = %{version}-%{release} + +%description -n libgfapi-devel +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides libgfapi.so and the api C header files. + +%package -n libgfchangelog0 +Summary: GlusterFS libchangelog library +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-libs <= %{version}-%{release} + +%description -n libgfchangelog0 +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides the libgfchangelog library + +%package -n libgfchangelog-devel +Summary: GlusterFS libchangelog library +Requires: libglusterfs-devel%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-devel <= %{version}-%{release} + +%description -n libgfchangelog-devel +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides libgfchangelog.so and changelog C header files. + +%package -n libgfrpc0 +Summary: GlusterFS libgfrpc0 library +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-libs <= %{version}-%{release} + +%description -n libgfrpc0 +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides the libgfrpc library + +%package -n libgfrpc-devel +Summary: GlusterFS libgfrpc library +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-devel <= %{version}-%{release} + +%description -n libgfrpc-devel +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides libgfrpc.so and rpc C header files. + +%package -n libgfxdr0 +Summary: GlusterFS libgfxdr0 library +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-libs <= %{version}-%{release} + +%description -n libgfxdr0 +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides the libgfxdr library + +%package -n libgfxdr-devel +Summary: GlusterFS libgfxdr library +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-devel <= %{version}-%{release} + +%description -n libgfxdr-devel +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides libgfxdr.so. + +%package -n libglusterd0 +Summary: GlusterFS libglusterd library +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-libs <= %{version}-%{release} + +%description -n libglusterd0 +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over TCP/IP interconnect +into one large parallel network filesystem. GlusterFS is one of the +most sophisticated file systems in terms of features and extensibility. +It borrows a powerful concept called Translators from GNU Hurd kernel. +Much of the code in GlusterFS is in user space and easily manageable. + +This package provides the libglusterd library %package -n python%{_pythonver}-gluster Summary: GlusterFS python library @@ -595,12 +708,13 @@ like Pacemaker. %package server Summary: Distributed file-system server Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: libglusterfs0%{?_isa} = %{version}-%{release} +Requires: libgfchangelog0%{?_isa} = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release} # some daemons (like quota) use a fuse-mount, glusterfsd is part of -fuse Requires: %{name}-fuse = %{version}-%{release} # self-heal daemon, rebalance, nfs-server etc. are actually clients -Requires: %{name}-api = %{version}-%{release} +Requires: libgfapi0%{?_isa} = %{version}-%{release} Requires: %{name}-client-xlators = %{version}-%{release} # lvm2 for snapshot, and nfs-utils and rpcbind/portmap for gnfs server Requires: psmisc @@ -829,8 +943,18 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ %endif exit 0 -# post and postun scriptlets for api -%ldconfig_scriptlets api +# post and postun scriptlets for libs +%ldconfig_scriptlets libglusterfs0 + +%ldconfig_scriptlets libgfchangelog0 + +%ldconfig_scriptlets libgfapi0 + +%ldconfig_scriptlets libgfrpc0 + +%ldconfig_scriptlets libgfxdr0 + +%ldconfig_scriptlets libgfglusterd0 %if ( 0%{!?_without_events:1} ) %post events @@ -1109,20 +1233,6 @@ exit 0 %exclude %{_prefix}/lib/ocf/resource.d/heartbeat/* %endif -%files api -%exclude %{_libdir}/*.so -# libgfapi files -%{_libdir}/libgfapi.* -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/mount - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/mount/api.so - -%files api-devel -%{_libdir}/pkgconfig/glusterfs-api.pc -%{_libdir}/libgfapi.so -%dir %{_includedir}/glusterfs -%dir %{_includedir}/glusterfs/api - %{_includedir}/glusterfs/api/* - %files cli %{_sbindir}/gluster %{_mandir}/man8/gluster.8* @@ -1139,14 +1249,33 @@ exit 0 %{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins/cloudsyncs3.so %{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins/cloudsynccvlt.so -%files devel +%files -n libglusterfs-devel %dir %{_includedir}/glusterfs - %{_includedir}/glusterfs/* -%exclude %{_includedir}/glusterfs/api -%exclude %{_libdir}/libgfapi.so -%{_libdir}/*.so + %{_includedir}/glusterfs/*.h + %{_includedir}/glusterfs/server/*.h +%{_libdir}/libglusterfs.so + +%files -n libgfapi-devel +%dir %{_includedir}/glusterfs/api + %{_includedir}/glusterfs/api/*.h +%{_libdir}/libgfapi.so +%{_libdir}/pkgconfig/glusterfs-api.pc + + +%files -n libgfchangelog-devel +%dir %{_includedir}/glusterfs/gfchangelog + %{_includedir}/glusterfs/gfchangelog/*.h +%{_libdir}/libgfchangelog.so %{_libdir}/pkgconfig/libgfchangelog.pc +%files -n libgfrpc-devel +%dir %{_includedir}/glusterfs/rpc + %{_includedir}/glusterfs/rpc/*.h +%{_libdir}/libgfrpc.so + +%files -n libgfxdr-devel +%{_libdir}/libgfxdr.so + # Events %if ( 0%{!?_without_events:1} ) %files events @@ -1241,10 +1370,26 @@ exit 0 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre %endif -%files libs -%{_libdir}/*.so.* -%exclude %{_libdir}/libgfapi.* -# libgfdb is only needed server-side +%files -n libglusterfs0 +%{_libdir}/libglusterfs.so.* + +%files -n libgfapi0 +%{_libdir}/libgfapi.so.* +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api.so + +%files -n libgfchangelog0 +%{_libdir}/libgfchangelog.so.* + +%files -n libgfrpc0 +%{_libdir}/libgfrpc.so.* + +%files -n libgfxdr0 +%{_libdir}/libgfxdr.so.* + +%files -n libglusterd0 +%{_libdir}/libglusterd.so.* +%exclude %{_libdir}/libglusterd.so %files -n python%{_pythonver}-gluster # introducing glusterfs module in site packages. @@ -1434,6 +1579,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Mon Jul 6 2020 Kaleb S. KEITHLEY - 8.0-1 +- 8.0 GA + * Sat Jul 4 2020 Kaleb S. KEITHLEY - 8.0-0.3rc0 - 8.0 fix symbol versions, enable LTO diff --git a/sources b/sources index 6b57fc2..e660867 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-8.0rc0.tar.gz) = f435cf564b1f435f39efe86e1a2b8a195171c1957d5646959eccc69080d8f472db2897d164a71aefa98aca9458211f367e1fe4347ee78afe65f31c832e10d52b +SHA512 (glusterfs-8.0.tar.gz) = 6af94f31e08e9ba9d1f3f674678553815933f8db58672d4225f855dc47f3290e1ad22f44dbe95856f82120bf195bc2df7dbd02c88e3a27d9363877891c619b58 From 68e20559d841df24f609098d4e7a9fe66805d08c Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 7 Jul 2020 06:47:54 -0400 Subject: [PATCH 045/116] 8.0, thin-arbiter Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 9719845..18847fe 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -183,7 +183,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.0 -Release: 1%{?dev:%{dev}}%{?dist} +Release: 2%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -762,7 +762,7 @@ This package provides the glusterfs server daemon. %package thin-arbiter Summary: GlusterFS thin-arbiter module Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: libglusterfs0{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} %description thin-arbiter @@ -1579,6 +1579,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jul 7 2020 Kaleb S. KEITHLEY - 8.0-2 +- 8.0, thin-arbiter + * Mon Jul 6 2020 Kaleb S. KEITHLEY - 8.0-1 - 8.0 GA From 9c80d2d404fa9cc0bac9595d141d5bb0ecc6915d Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 7 Jul 2020 07:26:50 -0400 Subject: [PATCH 046/116] thin-arbiter, w/o libglusterfs0 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 18847fe..5f1f0bf 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -762,7 +762,6 @@ This package provides the glusterfs server daemon. %package thin-arbiter Summary: GlusterFS thin-arbiter module Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: libglusterfs0{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} %description thin-arbiter @@ -1579,6 +1578,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jul 7 2020 Kaleb S. KEITHLEY +- thin-arbiter, w/o libglusterfs0 + * Tue Jul 7 2020 Kaleb S. KEITHLEY - 8.0-2 - 8.0, thin-arbiter From 39a3707ff2b36e996f40f6152429f134086c54fa Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 8 Jul 2020 07:30:38 -0400 Subject: [PATCH 047/116] thin-arbiter, w/o libglusterfs0 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 5f1f0bf..8d7b927 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -183,7 +183,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.0 -Release: 2%{?dev:%{dev}}%{?dist} +Release: 3%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1578,7 +1578,7 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog -* Tue Jul 7 2020 Kaleb S. KEITHLEY +* Wed Jul 8 2020 Kaleb S. KEITHLEY - 8.0-3 - thin-arbiter, w/o libglusterfs0 * Tue Jul 7 2020 Kaleb S. KEITHLEY - 8.0-2 From b513261e9700cfb9216e952692a1694b2a04e135 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 20 Jul 2020 17:07:45 -0400 Subject: [PATCH 048/116] use /usr/bin/make install DESTDIR=/home/kkeithle/rpmbuild/BUILDROOT/glusterfs-8.0-4.fc33.x86_64 INSTALL="/usr/bin/install -p" macro Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8d7b927..3ee0770 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -183,7 +183,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.0 -Release: 3%{?dev:%{dev}}%{?dist} +Release: 4%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -818,7 +818,7 @@ make check %install rm -rf %{buildroot} -make install DESTDIR=%{buildroot} +%make_install %if ( 0%{!?_without_server:1} ) %if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{!?_without_server:1} ) @@ -1578,6 +1578,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Mon Jul 20 2020 Kaleb S. KEITHLEY - 8.0-4 +- use %make_install macro + * Wed Jul 8 2020 Kaleb S. KEITHLEY - 8.0-3 - thin-arbiter, w/o libglusterfs0 From ec1c3d7ac7d0fa0c8220e4783fcec65a60dc5972 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 22 Jul 2020 08:28:06 -0400 Subject: [PATCH 049/116] eliminate contrib/sunrpc/xdr_sizeof.c Signed-off-by: Kaleb S. KEITHLEY --- 0002-rpc-rpc-lib-src-Makefile.am.patch | 12 ++++++++++++ glusterfs.spec | 7 ++++++- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 0002-rpc-rpc-lib-src-Makefile.am.patch diff --git a/0002-rpc-rpc-lib-src-Makefile.am.patch b/0002-rpc-rpc-lib-src-Makefile.am.patch new file mode 100644 index 0000000..4b167fc --- /dev/null +++ b/0002-rpc-rpc-lib-src-Makefile.am.patch @@ -0,0 +1,12 @@ +--- glusterfs-8.0/rpc/rpc-lib/src/Makefile.am.orig 2020-07-22 08:09:31.315980869 -0400 ++++ glusterfs-8.0/rpc/rpc-lib/src/Makefile.am 2020-07-22 08:10:12.203980869 -0400 +@@ -2,8 +2,7 @@ + + libgfrpc_la_SOURCES = auth-unix.c rpcsvc-auth.c rpcsvc.c auth-null.c \ + rpc-transport.c xdr-rpc.c xdr-rpcclnt.c rpc-clnt.c auth-glusterfs.c \ +- rpc-drc.c $(CONTRIBDIR)/sunrpc/xdr_sizeof.c rpc-clnt-ping.c \ +- autoscale-threads.c mgmt-pmap.c ++ rpc-drc.c rpc-clnt-ping.c autoscale-threads.c mgmt-pmap.c + + EXTRA_DIST = libgfrpc.sym + diff --git a/glusterfs.spec b/glusterfs.spec index 3ee0770..0f35f28 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -183,7 +183,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.0 -Release: 4%{?dev:%{dev}}%{?dist} +Release: 5%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -201,6 +201,7 @@ Source8: glusterfsd.init Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif Patch0001: 0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch +Patch0002: 0002-rpc-rpc-lib-src-Makefile.am.patch Requires(pre): shadow-utils BuildRequires: systemd @@ -774,6 +775,7 @@ This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?dev} %patch0001 -p1 +%patch0002 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -1578,6 +1580,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Jul 22 2020 Kaleb S. KEITHLEY - 8.0-5 +- eliminate contrib/sunrpc/xdr_sizeof.c + * Mon Jul 20 2020 Kaleb S. KEITHLEY - 8.0-4 - use %make_install macro From 5acb75d3e033eaaa85c07437e3ed79e10d813a1b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 20:26:07 +0000 Subject: [PATCH 050/116] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 0f35f28..8a8655d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -183,11 +183,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.0 -Release: 5%{?dev:%{dev}}%{?dist} +Release: 6%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.3 +Release: 0.@PACKAGE_RELEASE@%{?dist}.4 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1580,6 +1580,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 8.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Wed Jul 22 2020 Kaleb S. KEITHLEY - 8.0-5 - eliminate contrib/sunrpc/xdr_sizeof.c From f36b853ea370c4df61e7d30cb0a84e077318b752 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 25 Aug 2020 10:17:12 -0400 Subject: [PATCH 051/116] 8.1 GA Signed-off-by: Kaleb S. KEITHLEY --- ...bol-versions-break-LTO-in-Fedora-raw.patch | 2233 ----------------- glusterfs.spec | 9 +- sources | 2 +- 3 files changed, 6 insertions(+), 2238 deletions(-) delete mode 100644 0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch diff --git a/0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch b/0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch deleted file mode 100644 index daed10e..0000000 --- a/0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch +++ /dev/null @@ -1,2233 +0,0 @@ -From bc09af77376c45d28e6c789b0b4e64deed053aad Mon Sep 17 00:00:00 2001 -From: "Kaleb S. KEITHLEY" -Date: Thu, 2 Jul 2020 15:52:15 -0400 -Subject: [PATCH] api: libgfapi symbol versions break LTO in Fedora rawhide/f33 - -The way symbol versions are implemented is incompatible with gcc-10 and LTO. - -Fedora provenpackager Jeff Law (law [at] redhat.com) writes in the -Fedora dist-git glusterfs.spec: - This package uses top level ASM constructs which are incompatible with LTO. - Top level ASMs are often used to implement symbol versioning. gcc-10 - introduces a new mechanism for symbol versioning which works with LTO. - Converting packages to use that mechanism instead of toplevel ASMs is - recommended. - -In particular, note that the version of gluster in Fedora rawhide/f33 is -glusterfs-8.0RC0. Once this fix is merged it will be necessary to backport -it to the release-8 branch. - -At the time that gfapi symbol versions were first implemented we copied -the GNU libc (glibc) symbol version implementation following Uli Drepper's -symbol versioning HOWTO. - -Now gcc-10 has a symver attribute that can be used instead. (Maybe it -has been there all along?) - -Both the original implemenation and this implemenation yield the same -symbol versions. This can be seen by running - `nm -D --with-symbol-versions libgfapi.so` -on the libgfapi.so built before and after applying this fix. - -Change-Id: I05fda580afacfff1bfc07be810dd1afc08a92fb8 -Fixes: #1352 -Signed-off-by: Kaleb S. KEITHLEY ---- - api/src/glfs-fops.c | 322 +++++++++++++-------------------------- - api/src/glfs-handleops.c | 100 +++++------- - api/src/glfs-internal.h | 27 +++- - api/src/glfs-mgmt.c | 3 +- - api/src/glfs-resolve.c | 14 +- - api/src/glfs.c | 99 +++++------- - 6 files changed, 210 insertions(+), 355 deletions(-) - -diff --git a/api/src/glfs-fops.c b/api/src/glfs-fops.c -index 8d6d11423..fc2cfa043 100644 ---- a/api/src/glfs-fops.c -+++ b/api/src/glfs-fops.c -@@ -292,6 +292,7 @@ glfs_iatt_to_statx(struct glfs *fs, const struct iatt *iatt, - statx->glfs_st_attributes_mask = 0; - } - -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_iatt_from_statx, 6.0) - void - priv_glfs_iatt_from_statx(struct iatt *iatt, const struct glfs_stat *statx) - { -@@ -371,7 +372,6 @@ priv_glfs_iatt_from_statx(struct iatt *iatt, const struct glfs_stat *statx) - iatt->ia_attributes = statx->glfs_st_attributes; - iatt->ia_attributes_mask = statx->glfs_st_attributes_mask; - } --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_iatt_from_statx, 6.0); - - void - glfsflags_from_gfapiflags(struct glfs_stat *stat, int *glvalid) -@@ -415,6 +415,7 @@ glfs_loc_unlink(loc_t *loc) - return 0; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_open, 3.4.0) - struct glfs_fd * - pub_glfs_open(struct glfs *fs, const char *path, int flags) - { -@@ -509,8 +510,7 @@ invalid_fs: - return glfd; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_open, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_close, 3.4.0) - int - pub_glfs_close(struct glfs_fd *glfd) - { -@@ -565,8 +565,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_close, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lstat, 3.4.0) - int - pub_glfs_lstat(struct glfs *fs, const char *path, struct stat *stat) - { -@@ -607,8 +606,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lstat, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_stat, 3.4.0) - int - pub_glfs_stat(struct glfs *fs, const char *path, struct stat *stat) - { -@@ -649,8 +647,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_stat, 3.4.0); -- -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_statx, 6.0) - int - priv_glfs_statx(struct glfs *fs, const char *path, const unsigned int mask, - struct glfs_stat *statxbuf) -@@ -704,8 +701,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_statx, 6.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fstat, 3.4.0) - int - pub_glfs_fstat(struct glfs_fd *glfd, struct stat *stat) - { -@@ -754,8 +750,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fstat, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_creat, 3.4.0) - struct glfs_fd * - pub_glfs_creat(struct glfs *fs, const char *path, int flags, mode_t mode) - { -@@ -902,8 +897,6 @@ invalid_fs: - return glfd; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_creat, 3.4.0); -- - #ifdef HAVE_SEEK_HOLE - static int - glfs_seek(struct glfs_fd *glfd, off_t offset, int whence) -@@ -957,6 +950,7 @@ out: - } - #endif - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lseek, 3.4.0) - off_t - pub_glfs_lseek(struct glfs_fd *glfd, off_t offset, int whence) - { -@@ -1012,8 +1006,6 @@ invalid_fs: - return -1; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lseek, 3.4.0); -- - static ssize_t - glfs_preadv_common(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, - off_t offset, int flags, struct glfs_stat *poststat) -@@ -1091,6 +1083,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv, 3.4.0) - ssize_t - pub_glfs_preadv(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, - off_t offset, int flags) -@@ -1098,8 +1091,7 @@ pub_glfs_preadv(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, - return glfs_preadv_common(glfd, iovec, iovcnt, offset, flags, NULL); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read, 3.4.0) - ssize_t - pub_glfs_read(struct glfs_fd *glfd, void *buf, size_t count, int flags) - { -@@ -1116,8 +1108,7 @@ pub_glfs_read(struct glfs_fd *glfd, void *buf, size_t count, int flags) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_pread34, glfs_pread, 3.4.0) - ssize_t - pub_glfs_pread34(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, - int flags) -@@ -1135,8 +1126,7 @@ pub_glfs_pread34(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_pread34, glfs_pread, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread, 6.0) - ssize_t - pub_glfs_pread(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, - int flags, struct glfs_stat *poststat) -@@ -1154,8 +1144,7 @@ pub_glfs_pread(struct glfs_fd *glfd, void *buf, size_t count, off_t offset, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread, 6.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv, 3.4.0) - ssize_t - pub_glfs_readv(struct glfs_fd *glfd, const struct iovec *iov, int count, - int flags) -@@ -1167,8 +1156,6 @@ pub_glfs_readv(struct glfs_fd *glfd, const struct iovec *iov, int count, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv, 3.4.0); -- - struct glfs_io { - struct glfs_fd *glfd; - int op; -@@ -1370,6 +1357,7 @@ invalid_fs: - return -1; - } - -+GFAPI_SYMVER_PUBLIC(glfs_preadv_async34, glfs_preadv_async, 3.4.0) - int - pub_glfs_preadv_async34(struct glfs_fd *glfd, const struct iovec *iovec, - int count, off_t offset, int flags, glfs_io_cbk34 fn, -@@ -1379,8 +1367,7 @@ pub_glfs_preadv_async34(struct glfs_fd *glfd, const struct iovec *iovec, - (void *)fn, data); - } - --GFAPI_SYMVER_PUBLIC(glfs_preadv_async34, glfs_preadv_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv_async, 6.0) - int - pub_glfs_preadv_async(struct glfs_fd *glfd, const struct iovec *iovec, - int count, off_t offset, int flags, glfs_io_cbk fn, -@@ -1390,8 +1377,7 @@ pub_glfs_preadv_async(struct glfs_fd *glfd, const struct iovec *iovec, - _gf_false, fn, data); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_preadv_async, 6.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_read_async34, glfs_read_async, 3.4.0) - int - pub_glfs_read_async34(struct glfs_fd *glfd, void *buf, size_t count, int flags, - glfs_io_cbk34 fn, void *data) -@@ -1410,8 +1396,7 @@ pub_glfs_read_async34(struct glfs_fd *glfd, void *buf, size_t count, int flags, - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_read_async34, glfs_read_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read_async, 6.0) - int - pub_glfs_read_async(struct glfs_fd *glfd, void *buf, size_t count, int flags, - glfs_io_cbk fn, void *data) -@@ -1430,8 +1415,7 @@ pub_glfs_read_async(struct glfs_fd *glfd, void *buf, size_t count, int flags, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_read_async, 6.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_pread_async34, glfs_pread_async, 3.4.0) - int - pub_glfs_pread_async34(struct glfs_fd *glfd, void *buf, size_t count, - off_t offset, int flags, glfs_io_cbk34 fn, void *data) -@@ -1450,8 +1434,7 @@ pub_glfs_pread_async34(struct glfs_fd *glfd, void *buf, size_t count, - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_pread_async34, glfs_pread_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread_async, 6.0) - int - pub_glfs_pread_async(struct glfs_fd *glfd, void *buf, size_t count, - off_t offset, int flags, glfs_io_cbk fn, void *data) -@@ -1470,8 +1453,7 @@ pub_glfs_pread_async(struct glfs_fd *glfd, void *buf, size_t count, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pread_async, 6.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_readv_async34, glfs_readv_async, 3.4.0) - int - pub_glfs_readv_async34(struct glfs_fd *glfd, const struct iovec *iov, int count, - int flags, glfs_io_cbk34 fn, void *data) -@@ -1483,8 +1465,7 @@ pub_glfs_readv_async34(struct glfs_fd *glfd, const struct iovec *iov, int count, - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_readv_async34, glfs_readv_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv_async, 6.0) - int - pub_glfs_readv_async(struct glfs_fd *glfd, const struct iovec *iov, int count, - int flags, glfs_io_cbk fn, void *data) -@@ -1496,8 +1477,6 @@ pub_glfs_readv_async(struct glfs_fd *glfd, const struct iovec *iov, int count, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readv_async, 6.0); -- - static ssize_t - glfs_pwritev_common(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, - off_t offset, int flags, struct glfs_stat *prestat, -@@ -1583,6 +1562,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_copy_file_range, 6.0) - ssize_t - pub_glfs_copy_file_range(struct glfs_fd *glfd_in, off64_t *off_in, - struct glfs_fd *glfd_out, off64_t *off_out, size_t len, -@@ -1736,8 +1716,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_copy_file_range, 6.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev, 3.4.0) - ssize_t - pub_glfs_pwritev(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, - off_t offset, int flags) -@@ -1745,8 +1724,7 @@ pub_glfs_pwritev(struct glfs_fd *glfd, const struct iovec *iovec, int iovcnt, - return glfs_pwritev_common(glfd, iovec, iovcnt, offset, flags, NULL, NULL); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write, 3.4.0) - ssize_t - pub_glfs_write(struct glfs_fd *glfd, const void *buf, size_t count, int flags) - { -@@ -1763,8 +1741,7 @@ pub_glfs_write(struct glfs_fd *glfd, const void *buf, size_t count, int flags) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev, 3.4.0) - ssize_t - pub_glfs_writev(struct glfs_fd *glfd, const struct iovec *iov, int count, - int flags) -@@ -1776,8 +1753,7 @@ pub_glfs_writev(struct glfs_fd *glfd, const struct iovec *iov, int count, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_pwrite34, glfs_pwrite, 3.4.0) - ssize_t - pub_glfs_pwrite34(struct glfs_fd *glfd, const void *buf, size_t count, - off_t offset, int flags) -@@ -1795,8 +1771,7 @@ pub_glfs_pwrite34(struct glfs_fd *glfd, const void *buf, size_t count, - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_pwrite34, glfs_pwrite, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite, 6.0) - ssize_t - pub_glfs_pwrite(struct glfs_fd *glfd, const void *buf, size_t count, - off_t offset, int flags, struct glfs_stat *prestat, -@@ -1815,8 +1790,6 @@ pub_glfs_pwrite(struct glfs_fd *glfd, const void *buf, size_t count, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite, 6.0); -- - extern glfs_t * - pub_glfs_from_glfd(glfs_fd_t *); - -@@ -1935,6 +1908,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC(glfs_pwritev_async34, glfs_pwritev_async, 3.4.0) - int - pub_glfs_pwritev_async34(struct glfs_fd *glfd, const struct iovec *iovec, - int count, off_t offset, int flags, glfs_io_cbk34 fn, -@@ -1944,8 +1918,7 @@ pub_glfs_pwritev_async34(struct glfs_fd *glfd, const struct iovec *iovec, - _gf_true, (void *)fn, data); - } - --GFAPI_SYMVER_PUBLIC(glfs_pwritev_async34, glfs_pwritev_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev_async, 6.0) - int - pub_glfs_pwritev_async(struct glfs_fd *glfd, const struct iovec *iovec, - int count, off_t offset, int flags, glfs_io_cbk fn, -@@ -1955,8 +1928,7 @@ pub_glfs_pwritev_async(struct glfs_fd *glfd, const struct iovec *iovec, - _gf_false, fn, data); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwritev_async, 6.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_write_async34, glfs_write_async, 3.4.0) - int - pub_glfs_write_async34(struct glfs_fd *glfd, const void *buf, size_t count, - int flags, glfs_io_cbk34 fn, void *data) -@@ -1975,8 +1947,7 @@ pub_glfs_write_async34(struct glfs_fd *glfd, const void *buf, size_t count, - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_write_async34, glfs_write_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write_async, 6.0) - int - pub_glfs_write_async(struct glfs_fd *glfd, const void *buf, size_t count, - int flags, glfs_io_cbk fn, void *data) -@@ -1995,8 +1966,7 @@ pub_glfs_write_async(struct glfs_fd *glfd, const void *buf, size_t count, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_write_async, 6.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_pwrite_async34, glfs_pwrite_async, 3.4.0) - int - pub_glfs_pwrite_async34(struct glfs_fd *glfd, const void *buf, int count, - off_t offset, int flags, glfs_io_cbk34 fn, void *data) -@@ -2015,8 +1985,7 @@ pub_glfs_pwrite_async34(struct glfs_fd *glfd, const void *buf, int count, - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_pwrite_async34, glfs_pwrite_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite_async, 6.0) - int - pub_glfs_pwrite_async(struct glfs_fd *glfd, const void *buf, int count, - off_t offset, int flags, glfs_io_cbk fn, void *data) -@@ -2035,8 +2004,7 @@ pub_glfs_pwrite_async(struct glfs_fd *glfd, const void *buf, int count, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_pwrite_async, 6.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_writev_async34, glfs_writev_async, 3.4.0) - int - pub_glfs_writev_async34(struct glfs_fd *glfd, const struct iovec *iov, - int count, int flags, glfs_io_cbk34 fn, void *data) -@@ -2048,8 +2016,7 @@ pub_glfs_writev_async34(struct glfs_fd *glfd, const struct iovec *iov, - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_writev_async34, glfs_writev_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev_async, 6.0) - int - pub_glfs_writev_async(struct glfs_fd *glfd, const struct iovec *iov, int count, - int flags, glfs_io_cbk fn, void *data) -@@ -2061,8 +2028,6 @@ pub_glfs_writev_async(struct glfs_fd *glfd, const struct iovec *iov, int count, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_writev_async, 6.0); -- - static int - glfs_fsync_common(struct glfs_fd *glfd, struct glfs_stat *prestat, - struct glfs_stat *poststat) -@@ -2127,14 +2092,14 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC(glfs_fsync34, glfs_fsync, 3.4.0) - int - pub_glfs_fsync34(struct glfs_fd *glfd) - { - return glfs_fsync_common(glfd, NULL, NULL); - } - --GFAPI_SYMVER_PUBLIC(glfs_fsync34, glfs_fsync, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync, 6.0) - int - pub_glfs_fsync(struct glfs_fd *glfd, struct glfs_stat *prestat, - struct glfs_stat *poststat) -@@ -2142,8 +2107,6 @@ pub_glfs_fsync(struct glfs_fd *glfd, struct glfs_stat *prestat, - return glfs_fsync_common(glfd, prestat, poststat); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync, 6.0); -- - static int - glfs_fsync_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, struct iatt *prebuf, -@@ -2224,6 +2187,7 @@ out: - return ret; - } - -+GFAPI_SYMVER_PUBLIC(glfs_fsync_async34, glfs_fsync_async, 3.4.0) - int - pub_glfs_fsync_async34(struct glfs_fd *glfd, glfs_io_cbk34 fn, void *data) - { -@@ -2240,8 +2204,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_fsync_async34, glfs_fsync_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync_async, 6.0) - int - pub_glfs_fsync_async(struct glfs_fd *glfd, glfs_io_cbk fn, void *data) - { -@@ -2258,8 +2221,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsync_async, 6.0); -- - static int - glfs_fdatasync_common(struct glfs_fd *glfd, struct glfs_stat *prestat, - struct glfs_stat *poststat) -@@ -2324,14 +2285,14 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC(glfs_fdatasync34, glfs_fdatasync, 3.4.0) - int - pub_glfs_fdatasync34(struct glfs_fd *glfd) - { - return glfs_fdatasync_common(glfd, NULL, NULL); - } - --GFAPI_SYMVER_PUBLIC(glfs_fdatasync34, glfs_fdatasync, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync, 6.0) - int - pub_glfs_fdatasync(struct glfs_fd *glfd, struct glfs_stat *prestat, - struct glfs_stat *poststat) -@@ -2339,8 +2300,7 @@ pub_glfs_fdatasync(struct glfs_fd *glfd, struct glfs_stat *prestat, - return glfs_fdatasync_common(glfd, prestat, poststat); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync, 6.0); -- -+GFAPI_SYMVER_PUBLIC(glfs_fdatasync_async34, glfs_fdatasync_async, 3.4.0) - int - pub_glfs_fdatasync_async34(struct glfs_fd *glfd, glfs_io_cbk34 fn, void *data) - { -@@ -2357,8 +2317,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_fdatasync_async34, glfs_fdatasync_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync_async, 6.0) - int - pub_glfs_fdatasync_async(struct glfs_fd *glfd, glfs_io_cbk fn, void *data) - { -@@ -2375,8 +2334,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fdatasync_async, 6.0); -- - static int - glfs_ftruncate_common(struct glfs_fd *glfd, off_t offset, - struct glfs_stat *prestat, struct glfs_stat *poststat) -@@ -2442,14 +2399,14 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC(glfs_ftruncate34, glfs_ftruncate, 3.4.0) - int - pub_glfs_ftruncate34(struct glfs_fd *glfd, off_t offset) - { - return glfs_ftruncate_common(glfd, offset, NULL, NULL); - } - --GFAPI_SYMVER_PUBLIC(glfs_ftruncate34, glfs_ftruncate, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate, 6.0) - int - pub_glfs_ftruncate(struct glfs_fd *glfd, off_t offset, - struct glfs_stat *prestat, struct glfs_stat *poststat) -@@ -2457,8 +2414,7 @@ pub_glfs_ftruncate(struct glfs_fd *glfd, off_t offset, - return glfs_ftruncate_common(glfd, offset, prestat, poststat); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate, 6.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_truncate, 3.7.15) - int - pub_glfs_truncate(struct glfs *fs, const char *path, off_t length) - { -@@ -2504,8 +2460,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_truncate, 3.7.15); -- - static int - glfs_ftruncate_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, struct iatt *prebuf, -@@ -2598,6 +2552,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC(glfs_ftruncate_async34, glfs_ftruncate_async, 3.4.0) - int - pub_glfs_ftruncate_async34(struct glfs_fd *glfd, off_t offset, glfs_io_cbk34 fn, - void *data) -@@ -2606,8 +2561,7 @@ pub_glfs_ftruncate_async34(struct glfs_fd *glfd, off_t offset, glfs_io_cbk34 fn, - data); - } - --GFAPI_SYMVER_PUBLIC(glfs_ftruncate_async34, glfs_ftruncate_async, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate_async, 6.0) - int - pub_glfs_ftruncate_async(struct glfs_fd *glfd, off_t offset, glfs_io_cbk fn, - void *data) -@@ -2615,8 +2569,7 @@ pub_glfs_ftruncate_async(struct glfs_fd *glfd, off_t offset, glfs_io_cbk fn, - return glfs_ftruncate_async_common(glfd, offset, _gf_false, fn, data); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_ftruncate_async, 6.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_access, 3.4.0) - int - pub_glfs_access(struct glfs *fs, const char *path, int mode) - { -@@ -2662,8 +2615,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_access, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_symlink, 3.4.0) - int - pub_glfs_symlink(struct glfs *fs, const char *data, const char *path) - { -@@ -2753,8 +2705,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_symlink, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readlink, 3.4.0) - int - pub_glfs_readlink(struct glfs *fs, const char *path, char *buf, size_t bufsiz) - { -@@ -2811,8 +2762,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readlink, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mknod, 3.4.0) - int - pub_glfs_mknod(struct glfs *fs, const char *path, mode_t mode, dev_t dev) - { -@@ -2902,8 +2852,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mknod, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mkdir, 3.4.0) - int - pub_glfs_mkdir(struct glfs *fs, const char *path, mode_t mode) - { -@@ -2993,8 +2942,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_mkdir, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unlink, 3.4.0) - int - pub_glfs_unlink(struct glfs *fs, const char *path) - { -@@ -3050,8 +2998,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unlink, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rmdir, 3.4.0) - int - pub_glfs_rmdir(struct glfs *fs, const char *path) - { -@@ -3106,8 +3053,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rmdir, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rename, 3.4.0) - int - pub_glfs_rename(struct glfs *fs, const char *oldpath, const char *newpath) - { -@@ -3196,8 +3142,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_rename, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_link, 3.4.0) - int - pub_glfs_link(struct glfs *fs, const char *oldpath, const char *newpath) - { -@@ -3283,8 +3228,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_link, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_opendir, 3.4.0) - struct glfs_fd * - pub_glfs_opendir(struct glfs *fs, const char *path) - { -@@ -3365,8 +3309,7 @@ invalid_fs: - return glfd; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_opendir, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_closedir, 3.4.0) - int - pub_glfs_closedir(struct glfs_fd *glfd) - { -@@ -3387,16 +3330,14 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_closedir, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_telldir, 3.4.0) - long - pub_glfs_telldir(struct glfs_fd *fd) - { - return fd->offset; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_telldir, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_seekdir, 3.4.0) - void - pub_glfs_seekdir(struct glfs_fd *fd, long offset) - { -@@ -3425,8 +3366,6 @@ pub_glfs_seekdir(struct glfs_fd *fd, long offset) - */ - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_seekdir, 3.4.0); -- - static int - glfs_discard_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, -@@ -3517,6 +3456,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC(glfs_discard_async35, glfs_discard_async, 3.5.0) - int - pub_glfs_discard_async35(struct glfs_fd *glfd, off_t offset, size_t len, - glfs_io_cbk34 fn, void *data) -@@ -3525,8 +3465,7 @@ pub_glfs_discard_async35(struct glfs_fd *glfd, off_t offset, size_t len, - data); - } - --GFAPI_SYMVER_PUBLIC(glfs_discard_async35, glfs_discard_async, 3.5.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard_async, 6.0) - int - pub_glfs_discard_async(struct glfs_fd *glfd, off_t offset, size_t len, - glfs_io_cbk fn, void *data) -@@ -3534,8 +3473,6 @@ pub_glfs_discard_async(struct glfs_fd *glfd, off_t offset, size_t len, - return glfs_discard_async_common(glfd, offset, len, _gf_false, fn, data); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard_async, 6.0); -- - static int - glfs_zerofill_async_cbk(call_frame_t *frame, void *cookie, xlator_t *this, - int32_t op_ret, int32_t op_errno, -@@ -3628,6 +3565,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC(glfs_zerofill_async35, glfs_zerofill_async, 3.5.0) - int - pub_glfs_zerofill_async35(struct glfs_fd *glfd, off_t offset, off_t len, - glfs_io_cbk34 fn, void *data) -@@ -3636,8 +3574,7 @@ pub_glfs_zerofill_async35(struct glfs_fd *glfd, off_t offset, off_t len, - data); - } - --GFAPI_SYMVER_PUBLIC(glfs_zerofill_async35, glfs_zerofill_async, 3.5.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill_async, 6.0) - int - pub_glfs_zerofill_async(struct glfs_fd *glfd, off_t offset, off_t len, - glfs_io_cbk fn, void *data) -@@ -3645,8 +3582,6 @@ pub_glfs_zerofill_async(struct glfs_fd *glfd, off_t offset, off_t len, - return glfs_zerofill_async_common(glfd, offset, len, _gf_false, fn, data); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill_async, 6.0); -- - void - gf_dirent_to_dirent(gf_dirent_t *gf_dirent, struct dirent *dirent) - { -@@ -3806,6 +3741,7 @@ unlock: - return buf; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus_r, 3.4.0) - int - pub_glfs_readdirplus_r(struct glfs_fd *glfd, struct stat *stat, - struct dirent *ext, struct dirent **res) -@@ -3861,8 +3797,7 @@ invalid_fs: - return -1; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus_r, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir_r, 3.4.0) - int - pub_glfs_readdir_r(struct glfs_fd *glfd, struct dirent *buf, - struct dirent **res) -@@ -3870,8 +3805,7 @@ pub_glfs_readdir_r(struct glfs_fd *glfd, struct dirent *buf, - return pub_glfs_readdirplus_r(glfd, 0, buf, res); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir_r, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus, 3.5.0) - struct dirent * - pub_glfs_readdirplus(struct glfs_fd *glfd, struct stat *stat) - { -@@ -3885,16 +3819,14 @@ pub_glfs_readdirplus(struct glfs_fd *glfd, struct stat *stat) - return res; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdirplus, 3.5.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir, 3.5.0) - struct dirent * - pub_glfs_readdir(struct glfs_fd *glfd) - { - return pub_glfs_readdirplus(glfd, NULL); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_readdir, 3.5.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_statvfs, 3.4.0) - int - pub_glfs_statvfs(struct glfs *fs, const char *path, struct statvfs *buf) - { -@@ -3940,8 +3872,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_statvfs, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setattr, 6.0) - int - pub_glfs_setattr(struct glfs *fs, const char *path, struct glfs_stat *stat, - int follow) -@@ -4001,8 +3932,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setattr, 6.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetattr, 6.0) - int - pub_glfs_fsetattr(struct glfs_fd *glfd, struct glfs_stat *stat) - { -@@ -4055,8 +3985,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetattr, 6.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chmod, 3.4.0) - int - pub_glfs_chmod(struct glfs *fs, const char *path, mode_t mode) - { -@@ -4073,8 +4002,7 @@ pub_glfs_chmod(struct glfs *fs, const char *path, mode_t mode) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chmod, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchmod, 3.4.0) - int - pub_glfs_fchmod(struct glfs_fd *glfd, mode_t mode) - { -@@ -4091,8 +4019,7 @@ pub_glfs_fchmod(struct glfs_fd *glfd, mode_t mode) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchmod, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chown, 3.4.0) - int - pub_glfs_chown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) - { -@@ -4117,8 +4044,7 @@ pub_glfs_chown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chown, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lchown, 3.4.0) - int - pub_glfs_lchown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) - { -@@ -4143,8 +4069,7 @@ pub_glfs_lchown(struct glfs *fs, const char *path, uid_t uid, gid_t gid) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lchown, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchown, 3.4.0) - int - pub_glfs_fchown(struct glfs_fd *glfd, uid_t uid, gid_t gid) - { -@@ -4169,8 +4094,7 @@ pub_glfs_fchown(struct glfs_fd *glfd, uid_t uid, gid_t gid) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchown, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_utimens, 3.4.0) - int - pub_glfs_utimens(struct glfs *fs, const char *path, - const struct timespec times[2]) -@@ -4190,8 +4114,7 @@ pub_glfs_utimens(struct glfs *fs, const char *path, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_utimens, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lutimens, 3.4.0) - int - pub_glfs_lutimens(struct glfs *fs, const char *path, - const struct timespec times[2]) -@@ -4211,8 +4134,7 @@ pub_glfs_lutimens(struct glfs *fs, const char *path, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lutimens, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_futimens, 3.4.0) - int - pub_glfs_futimens(struct glfs_fd *glfd, const struct timespec times[2]) - { -@@ -4231,8 +4153,6 @@ pub_glfs_futimens(struct glfs_fd *glfd, const struct timespec times[2]) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_futimens, 3.4.0); -- - int - glfs_getxattr_process(void *value, size_t size, dict_t *xattr, const char *name) - { -@@ -4332,6 +4252,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getxattr, 3.4.0) - ssize_t - pub_glfs_getxattr(struct glfs *fs, const char *path, const char *name, - void *value, size_t size) -@@ -4339,8 +4260,7 @@ pub_glfs_getxattr(struct glfs *fs, const char *path, const char *name, - return glfs_getxattr_common(fs, path, name, value, size, 1); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getxattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lgetxattr, 3.4.0) - ssize_t - pub_glfs_lgetxattr(struct glfs *fs, const char *path, const char *name, - void *value, size_t size) -@@ -4348,8 +4268,7 @@ pub_glfs_lgetxattr(struct glfs *fs, const char *path, const char *name, - return glfs_getxattr_common(fs, path, name, value, size, 0); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lgetxattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fgetxattr, 3.4.0) - ssize_t - pub_glfs_fgetxattr(struct glfs_fd *glfd, const char *name, void *value, - size_t size) -@@ -4412,8 +4331,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fgetxattr, 3.4.0); -- - int - glfs_listxattr_process(void *value, size_t size, dict_t *xattr) - { -@@ -4497,22 +4414,21 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_listxattr, 3.4.0) - ssize_t - pub_glfs_listxattr(struct glfs *fs, const char *path, void *value, size_t size) - { - return glfs_listxattr_common(fs, path, value, size, 1); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_listxattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_llistxattr, 3.4.0) - ssize_t - pub_glfs_llistxattr(struct glfs *fs, const char *path, void *value, size_t size) - { - return glfs_listxattr_common(fs, path, value, size, 0); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_llistxattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_flistxattr, 3.4.0) - ssize_t - pub_glfs_flistxattr(struct glfs_fd *glfd, void *value, size_t size) - { -@@ -4562,8 +4478,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_flistxattr, 3.4.0); -- - int - glfs_setxattr_common(struct glfs *fs, const char *path, const char *name, - const void *value, size_t size, int flags, int follow) -@@ -4643,6 +4557,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setxattr, 3.4.0) - int - pub_glfs_setxattr(struct glfs *fs, const char *path, const char *name, - const void *value, size_t size, int flags) -@@ -4650,8 +4565,7 @@ pub_glfs_setxattr(struct glfs *fs, const char *path, const char *name, - return glfs_setxattr_common(fs, path, name, value, size, flags, 1); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setxattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lsetxattr, 3.4.0) - int - pub_glfs_lsetxattr(struct glfs *fs, const char *path, const char *name, - const void *value, size_t size, int flags) -@@ -4659,8 +4573,7 @@ pub_glfs_lsetxattr(struct glfs *fs, const char *path, const char *name, - return glfs_setxattr_common(fs, path, name, value, size, flags, 0); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lsetxattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetxattr, 3.4.0) - int - pub_glfs_fsetxattr(struct glfs_fd *glfd, const char *name, const void *value, - size_t size, int flags) -@@ -4735,8 +4648,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fsetxattr, 3.4.0); -- - int - glfs_removexattr_common(struct glfs *fs, const char *path, const char *name, - int follow) -@@ -4787,22 +4698,21 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_removexattr, 3.4.0) - int - pub_glfs_removexattr(struct glfs *fs, const char *path, const char *name) - { - return glfs_removexattr_common(fs, path, name, 1); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_removexattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lremovexattr, 3.4.0) - int - pub_glfs_lremovexattr(struct glfs *fs, const char *path, const char *name) - { - return glfs_removexattr_common(fs, path, name, 0); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lremovexattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fremovexattr, 3.4.0) - int - pub_glfs_fremovexattr(struct glfs_fd *glfd, const char *name) - { -@@ -4845,8 +4755,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fremovexattr, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fallocate, 3.5.0) - int - pub_glfs_fallocate(struct glfs_fd *glfd, int keep_size, off_t offset, - size_t len) -@@ -4897,8 +4806,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fallocate, 3.5.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard, 3.5.0) - int - pub_glfs_discard(struct glfs_fd *glfd, off_t offset, size_t len) - { -@@ -4948,8 +4856,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_discard, 3.5.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill, 3.5.0) - int - pub_glfs_zerofill(struct glfs_fd *glfd, off_t offset, off_t len) - { -@@ -4997,8 +4904,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_zerofill, 3.5.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chdir, 3.4.0) - int - pub_glfs_chdir(struct glfs *fs, const char *path) - { -@@ -5048,8 +4954,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_chdir, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchdir, 3.4.0) - int - pub_glfs_fchdir(struct glfs_fd *glfd) - { -@@ -5101,8 +5006,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fchdir, 3.4.0); -- - static gf_boolean_t warn_realpath = _gf_true; /* log once */ - - static char * -@@ -5185,22 +5088,21 @@ invalid_fs: - return retpath; - } - -+GFAPI_SYMVER_PUBLIC(glfs_realpath34, glfs_realpath, 3.4.0) - char * - pub_glfs_realpath34(struct glfs *fs, const char *path, char *resolved_path) - { - return glfs_realpath_common(fs, path, resolved_path, _gf_true); - } - --GFAPI_SYMVER_PUBLIC(glfs_realpath34, glfs_realpath, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_realpath, 3.7.17) - char * - pub_glfs_realpath(struct glfs *fs, const char *path, char *resolved_path) - { - return glfs_realpath_common(fs, path, resolved_path, _gf_false); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_realpath, 3.7.17); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getcwd, 3.4.0) - char * - pub_glfs_getcwd(struct glfs *fs, char *buf, size_t n) - { -@@ -5249,8 +5151,6 @@ invalid_fs: - return buf; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_getcwd, 3.4.0); -- - static void - gf_flock_to_flock(struct gf_flock *gf_flock, struct flock *flock) - { -@@ -5357,6 +5257,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_file_lock, 4.0.0) - int - pub_glfs_file_lock(struct glfs_fd *glfd, int cmd, struct flock *flock, - glfs_lock_mode_t lk_mode) -@@ -5393,16 +5294,14 @@ out: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_file_lock, 4.0.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_posix_lock, 3.4.0) - int - pub_glfs_posix_lock(struct glfs_fd *glfd, int cmd, struct flock *flock) - { - return glfs_lock_common(glfd, cmd, flock, NULL); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_posix_lock, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fd_set_lkowner, 3.10.7) - int - pub_glfs_fd_set_lkowner(struct glfs_fd *glfd, void *data, int len) - { -@@ -5438,8 +5337,8 @@ out: - invalid_fs: - return ret; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fd_set_lkowner, 3.10.7); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_dup, 3.4.0) - struct glfs_fd * - pub_glfs_dup(struct glfs_fd *glfd) - { -@@ -5490,8 +5389,6 @@ invalid_fs: - return dupfd; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_dup, 3.4.0); -- - static void - glfs_enqueue_upcall_data(struct glfs *fs, struct gf_upcall *upcall_data) - { -@@ -5976,6 +5873,7 @@ out: - * Otherwise all the upcall events are queued up in a list - * to be read/polled by the applications. - */ -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_process_upcall_event, 3.7.0) - void - priv_glfs_process_upcall_event(struct glfs *fs, void *data) - { -@@ -6043,7 +5941,6 @@ out: - err: - return; - } --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_process_upcall_event, 3.7.0); - - ssize_t - glfs_anonymous_pwritev(struct glfs *fs, struct glfs_object *object, -@@ -6229,6 +6126,7 @@ glfs_release_xreaddirp_stat(void *ptr) - * Given glfd of a directory, this function does readdirp and returns - * xstat along with dirents. - */ -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_r, 3.11.0) - int - pub_glfs_xreaddirplus_r(struct glfs_fd *glfd, uint32_t flags, - struct glfs_xreaddirp_stat **xstat_p, -@@ -6337,8 +6235,8 @@ out: - invalid_fs: - return -1; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_r, 3.11.0); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_stat, 3.11.0) - struct stat * - pub_glfs_xreaddirplus_get_stat(struct glfs_xreaddirp_stat *xstat) - { -@@ -6354,7 +6252,6 @@ pub_glfs_xreaddirplus_get_stat(struct glfs_xreaddirp_stat *xstat) - out: - return NULL; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_stat, 3.11.0); - - void - gf_lease_to_glfs_lease(struct gf_lease *gf_lease, struct glfs_lease *lease) -@@ -6374,6 +6271,7 @@ glfs_lease_to_gf_lease(struct glfs_lease *lease, struct gf_lease *gf_lease) - memcpy(gf_lease->lease_id, lease->lease_id, LEASE_ID_SIZE); - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lease, 4.0.0) - int - pub_glfs_lease(struct glfs_fd *glfd, struct glfs_lease *lease, - glfs_recall_cbk fn, void *data) -@@ -6475,5 +6373,3 @@ out: - invalid_fs: - return ret; - } -- --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_lease, 4.0.0); -diff --git a/api/src/glfs-handleops.c b/api/src/glfs-handleops.c -index cdac07124..53c2ee896 100644 ---- a/api/src/glfs-handleops.c -+++ b/api/src/glfs-handleops.c -@@ -60,6 +60,7 @@ glfs_iatt_from_stat(struct stat *stat, int valid, struct iatt *iatt, - return; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lookupat, 3.7.4) - struct glfs_object * - pub_glfs_h_lookupat(struct glfs *fs, struct glfs_object *parent, - const char *path, struct stat *stat, int follow) -@@ -126,8 +127,7 @@ invalid_fs: - return object; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lookupat, 3.7.4); -- -+GFAPI_SYMVER_PUBLIC(glfs_h_lookupat34, glfs_h_lookupat, 3.4.2) - struct glfs_object * - pub_glfs_h_lookupat34(struct glfs *fs, struct glfs_object *parent, - const char *path, struct stat *stat) -@@ -135,8 +135,7 @@ pub_glfs_h_lookupat34(struct glfs *fs, struct glfs_object *parent, - return pub_glfs_h_lookupat(fs, parent, path, stat, 0); - } - --GFAPI_SYMVER_PUBLIC(glfs_h_lookupat34, glfs_h_lookupat, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_statfs, 3.7.0) - int - pub_glfs_h_statfs(struct glfs *fs, struct glfs_object *object, - struct statvfs *statvfs) -@@ -194,8 +193,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_statfs, 3.7.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_stat, 3.4.2) - int - pub_glfs_h_stat(struct glfs *fs, struct glfs_object *object, struct stat *stat) - { -@@ -259,8 +257,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_stat, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getattrs, 3.4.2) - int - pub_glfs_h_getattrs(struct glfs *fs, struct glfs_object *object, - struct stat *stat) -@@ -317,8 +314,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getattrs, 3.4.2); -- - int - glfs_h_getxattrs_common(struct glfs *fs, struct glfs_object *object, - dict_t **xattr, const char *name, -@@ -380,6 +375,7 @@ out: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getxattrs, 3.5.1) - int - pub_glfs_h_getxattrs(struct glfs *fs, struct glfs_object *object, - const char *name, void *value, size_t size) -@@ -416,8 +412,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_getxattrs, 3.5.1); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setattrs, 3.4.2) - int - pub_glfs_h_setattrs(struct glfs *fs, struct glfs_object *object, - struct stat *stat, int valid) -@@ -480,8 +475,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setattrs, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setxattrs, 3.5.0) - int - pub_glfs_h_setxattrs(struct glfs *fs, struct glfs_object *object, - const char *name, const void *value, size_t size, -@@ -568,8 +562,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_setxattrs, 3.5.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_removexattrs, 3.5.1) - int - pub_glfs_h_removexattrs(struct glfs *fs, struct glfs_object *object, - const char *name) -@@ -626,8 +619,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_removexattrs, 3.5.1); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_open, 3.4.2) - struct glfs_fd * - pub_glfs_h_open(struct glfs *fs, struct glfs_object *object, int flags) - { -@@ -727,8 +719,7 @@ invalid_fs: - return glfd; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_open, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat, 3.4.2) - struct glfs_object * - pub_glfs_h_creat(struct glfs *fs, struct glfs_object *parent, const char *path, - int flags, mode_t mode, struct stat *stat) -@@ -840,8 +831,7 @@ invalid_fs: - return object; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat_open, 6.6) - struct glfs_object * - pub_glfs_h_creat_open(struct glfs *fs, struct glfs_object *parent, - const char *path, int flags, mode_t mode, -@@ -975,8 +965,7 @@ invalid_fs: - return object; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_creat_open, 6.6); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mkdir, 3.4.2) - struct glfs_object * - pub_glfs_h_mkdir(struct glfs *fs, struct glfs_object *parent, const char *path, - mode_t mode, struct stat *stat) -@@ -1074,8 +1063,7 @@ invalid_fs: - return object; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mkdir, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mknod, 3.4.2) - struct glfs_object * - pub_glfs_h_mknod(struct glfs *fs, struct glfs_object *parent, const char *path, - mode_t mode, dev_t dev, struct stat *stat) -@@ -1172,8 +1160,7 @@ invalid_fs: - return object; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_mknod, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_unlink, 3.4.2) - int - pub_glfs_h_unlink(struct glfs *fs, struct glfs_object *parent, const char *path) - { -@@ -1244,8 +1231,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_unlink, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_opendir, 3.4.2) - struct glfs_fd * - pub_glfs_h_opendir(struct glfs *fs, struct glfs_object *object) - { -@@ -1327,8 +1313,7 @@ invalid_fs: - return glfd; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_opendir, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_access, 3.6.0) - int - pub_glfs_h_access(struct glfs *fs, struct glfs_object *object, int mask) - { -@@ -1385,8 +1370,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_access, 3.6.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_extract_handle, 3.4.2) - ssize_t - pub_glfs_h_extract_handle(struct glfs_object *object, unsigned char *handle, - int len) -@@ -1417,8 +1401,7 @@ out: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_extract_handle, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_create_from_handle, 3.4.2) - struct glfs_object * - pub_glfs_h_create_from_handle(struct glfs *fs, unsigned char *handle, int len, - struct stat *stat) -@@ -1541,8 +1524,7 @@ invalid_fs: - return object; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_create_from_handle, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_close, 3.4.2) - int - pub_glfs_h_close(struct glfs_object *object) - { -@@ -1555,8 +1537,7 @@ pub_glfs_h_close(struct glfs_object *object) - return 0; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_close, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_truncate, 3.4.2) - int - pub_glfs_h_truncate(struct glfs *fs, struct glfs_object *object, off_t offset) - { -@@ -1616,8 +1597,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_truncate, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_symlink, 3.4.2) - struct glfs_object * - pub_glfs_h_symlink(struct glfs *fs, struct glfs_object *parent, - const char *name, const char *data, struct stat *stat) -@@ -1716,8 +1696,7 @@ invalid_fs: - return object; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_symlink, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_readlink, 3.4.2) - int - pub_glfs_h_readlink(struct glfs *fs, struct glfs_object *object, char *buf, - size_t bufsiz) -@@ -1782,8 +1761,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_readlink, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_link, 3.4.2) - int - pub_glfs_h_link(struct glfs *fs, struct glfs_object *linksrc, - struct glfs_object *parent, const char *name) -@@ -1880,8 +1858,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_link, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_rename, 3.4.2) - int - pub_glfs_h_rename(struct glfs *fs, struct glfs_object *olddir, - const char *oldname, struct glfs_object *newdir, -@@ -1991,8 +1968,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_rename, 3.4.2); -- - /* - * Given a handle/gfid, find if the corresponding inode is present in - * the inode table. If yes create and return the corresponding glfs_object. -@@ -2200,6 +2175,7 @@ glfs_release_upcall(void *ptr) - * calling glfs_fini(..). Hence making an assumption that 'fs' & ctx structures - * cannot be freed while in this routine. - */ -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_poll_upcall, 3.7.16) - int - pub_glfs_h_poll_upcall(struct glfs *fs, struct glfs_upcall **up_arg) - { -@@ -2317,8 +2293,6 @@ err: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_poll_upcall, 3.7.16); -- - static gf_boolean_t log_upcall370 = _gf_true; /* log once */ - - /* The old glfs_h_poll_upcall interface requires intimate knowledge of the -@@ -2332,6 +2306,7 @@ static gf_boolean_t log_upcall370 = _gf_true; /* log once */ - * - * WARNING: this function will be removed in the future. - */ -+GFAPI_SYMVER_PUBLIC(glfs_h_poll_upcall370, glfs_h_poll_upcall, 3.7.0) - int - pub_glfs_h_poll_upcall370(struct glfs *fs, struct glfs_callback_arg *up_arg) - { -@@ -2399,12 +2374,11 @@ out: - return ret; - } - --GFAPI_SYMVER_PUBLIC(glfs_h_poll_upcall370, glfs_h_poll_upcall, 3.7.0); -- - #ifdef HAVE_ACL_LIBACL_H - #include - #include - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0) - int - pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, - const acl_type_t type, const acl_t acl) -@@ -2453,6 +2427,7 @@ invalid_fs: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0) - acl_t - pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, - const acl_type_t type) -@@ -2507,6 +2482,7 @@ invalid_fs: - return acl; - } - #else /* !HAVE_ACL_LIBACL_H */ -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0) - acl_t - pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, - const acl_type_t type) -@@ -2515,6 +2491,7 @@ pub_glfs_h_acl_get(struct glfs *fs, struct glfs_object *object, - return NULL; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0) - int - pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, - const acl_type_t type, const acl_t acl) -@@ -2523,10 +2500,9 @@ pub_glfs_h_acl_set(struct glfs *fs, struct glfs_object *object, - return -1; - } - #endif --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_set, 3.7.0); --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_acl_get, 3.7.0); - - /* The API to perform read using anonymous fd */ -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_read, 3.7.0) - ssize_t - pub_glfs_h_anonymous_read(struct glfs *fs, struct glfs_object *object, - const void *buf, size_t count, off_t offset) -@@ -2550,9 +2526,8 @@ pub_glfs_h_anonymous_read(struct glfs *fs, struct glfs_object *object, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_read, 3.7.0); -- - /* The API to perform write using anonymous fd */ -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_write, 3.7.0) - ssize_t - pub_glfs_h_anonymous_write(struct glfs *fs, struct glfs_object *object, - const void *buf, size_t count, off_t offset) -@@ -2576,8 +2551,7 @@ pub_glfs_h_anonymous_write(struct glfs *fs, struct glfs_object *object, - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_anonymous_write, 3.7.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_object_copy, 3.11.0) - struct glfs_object * - pub_glfs_object_copy(struct glfs_object *src) - { -@@ -2599,8 +2573,8 @@ pub_glfs_object_copy(struct glfs_object *src) - out: - return object; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_object_copy, 3.11.0); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_object, 3.11.0) - struct glfs_object * - pub_glfs_xreaddirplus_get_object(struct glfs_xreaddirp_stat *xstat) - { -@@ -2616,8 +2590,8 @@ pub_glfs_xreaddirplus_get_object(struct glfs_xreaddirp_stat *xstat) - out: - return NULL; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_xreaddirplus_get_object, 3.11.0); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lease, 4.0.0) - int - pub_glfs_h_lease(struct glfs *fs, struct glfs_object *object, - struct glfs_lease *lease) -@@ -2679,5 +2653,3 @@ out: - invalid_fs: - return ret; - } -- --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_h_lease, 4.0.0); -diff --git a/api/src/glfs-internal.h b/api/src/glfs-internal.h -index 2a50e1d46..7cc3b18a1 100644 ---- a/api/src/glfs-internal.h -+++ b/api/src/glfs-internal.h -@@ -81,25 +81,40 @@ - #ifndef GFAPI_PRIVATE - #define GFAPI_PRIVATE(sym, ver) /**/ - #endif -+#if __GNUC__ >= 10 - #define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, ver) \ -- asm(".symver pub_" STR(fn) ", " STR(fn) "@@GFAPI_" STR(ver)) -+ __attribute__((__symver__(STR(fn) "@@GFAPI_" STR(ver)))) - - #define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, ver) \ -- asm(".symver priv_" STR(fn) ", " STR(fn) "@@GFAPI_PRIVATE_" STR(ver)) -+ __attribute__((__symver__(STR(fn) "@@GFAPI_PRIVATE_" STR(ver)))) - - #define GFAPI_SYMVER_PUBLIC(fn1, fn2, ver) \ -- asm(".symver pub_" STR(fn1) ", " STR(fn2) "@GFAPI_" STR(ver)) -+ __attribute__((__symver__(STR(fn2) "@GFAPI_" STR(ver)))) - - #define GFAPI_SYMVER_PRIVATE(fn1, fn2, ver) \ -- asm(".symver priv_" STR(fn1) ", " STR(fn2) "@GFAPI_PRIVATE_" STR(ver)) -+ __attribute__((__symver__(STR(fn2) "@GFAPI_PRIVATE_" STR(ver)))) -+ -+#else -+#define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, ver) \ -+ asm(".symver pub_" STR(fn) ", " STR(fn) "@@GFAPI_" STR(ver)); -+ -+#define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, ver) \ -+ asm(".symver priv_" STR(fn) ", " STR(fn) "@@GFAPI_PRIVATE_" STR(ver)); -+ -+#define GFAPI_SYMVER_PUBLIC(fn1, fn2, ver) \ -+ asm(".symver pub_" STR(fn1) ", " STR(fn2) "@GFAPI_" STR(ver)); -+ -+#define GFAPI_SYMVER_PRIVATE(fn1, fn2, ver) \ -+ asm(".symver priv_" STR(fn1) ", " STR(fn2) "@GFAPI_PRIVATE_" STR(ver)); -+#endif - #define STR(str) #str - #else - #ifndef GFAPI_PUBLIC --#define GFAPI_PUBLIC(sym, ver) __asm("_" __STRING(sym) "$GFAPI_" __STRING(ver)) -+#define GFAPI_PUBLIC(sym, ver) __asm("_" __STRING(sym) "$GFAPI_" __STRING(ver)); - #endif - #ifndef GFAPI_PRIVATE - #define GFAPI_PRIVATE(sym, ver) \ -- __asm("_" __STRING(sym) "$GFAPI_PRIVATE_" __STRING(ver)) -+ __asm("_" __STRING(sym) "$GFAPI_PRIVATE_" __STRING(ver)); - #endif - #define GFAPI_SYMVER_PUBLIC_DEFAULT(fn, dotver) /**/ - #define GFAPI_SYMVER_PRIVATE_DEFAULT(fn, dotver) /**/ -diff --git a/api/src/glfs-mgmt.c b/api/src/glfs-mgmt.c -index 7271e35ec..08df2b1a4 100644 ---- a/api/src/glfs-mgmt.c -+++ b/api/src/glfs-mgmt.c -@@ -364,6 +364,7 @@ out: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volumeid, 3.5.0) - int - pub_glfs_get_volumeid(struct glfs *fs, char *volid, size_t size) - { -@@ -418,8 +419,6 @@ invalid_fs: - return -1; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volumeid, 3.5.0); -- - int - glfs_get_volume_info(struct glfs *fs) - { -diff --git a/api/src/glfs-resolve.c b/api/src/glfs-resolve.c -index 7b60eef00..8a393ecb4 100644 ---- a/api/src/glfs-resolve.c -+++ b/api/src/glfs-resolve.c -@@ -162,6 +162,7 @@ __glfs_refresh_inode(struct glfs *fs, xlator_t *subvol, inode_t *inode, - return newinode; - } - -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_loc_touchup, 3.4.0) - int - priv_glfs_loc_touchup(loc_t *loc) - { -@@ -176,8 +177,6 @@ priv_glfs_loc_touchup(loc_t *loc) - return ret; - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_loc_touchup, 3.4.0); -- - int - glfs_resolve_symlink(struct glfs *fs, xlator_t *subvol, inode_t *inode, - char **lpath) -@@ -467,6 +466,7 @@ out: - return inode; - } - -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve_at, 3.4.0) - int - priv_glfs_resolve_at(struct glfs *fs, xlator_t *subvol, inode_t *at, - const char *origpath, loc_t *loc, struct iatt *iatt, -@@ -617,8 +617,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve_at, 3.4.0); -- - int - glfs_resolve_path(struct glfs *fs, xlator_t *subvol, const char *origpath, - loc_t *loc, struct iatt *iatt, int follow, int reval) -@@ -647,6 +645,7 @@ out: - return ret; - } - -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve, 3.7.0) - int - priv_glfs_resolve(struct glfs *fs, xlator_t *subvol, const char *origpath, - loc_t *loc, struct iatt *iatt, int reval) -@@ -657,7 +656,6 @@ priv_glfs_resolve(struct glfs *fs, xlator_t *subvol, const char *origpath, - - return ret; - } --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_resolve, 3.7.0); - - int - glfs_lresolve(struct glfs *fs, xlator_t *subvol, const char *origpath, -@@ -978,6 +976,7 @@ __glfs_active_subvol(struct glfs *fs) - return new_subvol; - } - -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_subvol_done, 3.4.0) - void - priv_glfs_subvol_done(struct glfs *fs, xlator_t *subvol) - { -@@ -1005,8 +1004,7 @@ priv_glfs_subvol_done(struct glfs *fs, xlator_t *subvol) - } - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_subvol_done, 3.4.0); -- -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_active_subvol, 3.4.0) - xlator_t * - priv_glfs_active_subvol(struct glfs *fs) - { -@@ -1034,8 +1032,6 @@ priv_glfs_active_subvol(struct glfs *fs) - return subvol; - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_active_subvol, 3.4.0); -- - int - __glfs_cwd_set(struct glfs *fs, inode_t *inode) - { -diff --git a/api/src/glfs.c b/api/src/glfs.c -index 93e0938b8..5259356b4 100644 ---- a/api/src/glfs.c -+++ b/api/src/glfs.c -@@ -275,6 +275,7 @@ out: - - /////////////////////////////////////////////////////////////////////////////// - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_xlator_option, 3.4.0) - int - pub_glfs_set_xlator_option(struct glfs *fs, const char *xlator, const char *key, - const char *value) -@@ -324,8 +325,7 @@ invalid_fs: - return -1; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_xlator_option, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unset_volfile_server, 3.5.1) - int - pub_glfs_unset_volfile_server(struct glfs *fs, const char *transport, - const char *host, const int port) -@@ -385,8 +385,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_unset_volfile_server, 3.5.1); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile_server, 3.4.0) - int - pub_glfs_set_volfile_server(struct glfs *fs, const char *transport, - const char *host, int port) -@@ -465,8 +464,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile_server, 3.4.0); -- - /* * - * Used to free the arguments allocated by glfs_set_volfile_server() - */ -@@ -509,6 +506,7 @@ glfs_free_xlator_options(cmd_args_t *cmd_args) - } - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsuid, 3.4.2) - int - pub_glfs_setfsuid(uid_t fsuid) - { -@@ -518,8 +516,7 @@ pub_glfs_setfsuid(uid_t fsuid) - return syncopctx_setfsuid(&fsuid); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsuid, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgid, 3.4.2) - int - pub_glfs_setfsgid(gid_t fsgid) - { -@@ -529,8 +526,7 @@ pub_glfs_setfsgid(gid_t fsgid) - return syncopctx_setfsgid(&fsgid); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgid, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgroups, 3.4.2) - int - pub_glfs_setfsgroups(size_t size, const gid_t *list) - { -@@ -540,8 +536,7 @@ pub_glfs_setfsgroups(size_t size, const gid_t *list) - return syncopctx_setfsgroups(size, list); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsgroups, 3.4.2); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsleaseid, 4.0.0) - int - pub_glfs_setfsleaseid(glfs_leaseid_t leaseid) - { -@@ -563,8 +558,6 @@ pub_glfs_setfsleaseid(glfs_leaseid_t leaseid) - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_setfsleaseid, 4.0.0); -- - int - get_fop_attr_glfd(dict_t **fop_attr, struct glfs_fd *glfd) - { -@@ -652,14 +645,14 @@ unset_fop_attr(dict_t **fop_attr) - *fop_attr = NULL; - } - } -+ -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_from_glfd, 3.4.0) - struct glfs * - pub_glfs_from_glfd(struct glfs_fd *glfd) - { - return glfd->fs; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_from_glfd, 3.4.0); -- - static void - glfs_fd_destroy(struct glfs_fd *glfd) - { -@@ -808,6 +801,7 @@ unlock: - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_new, 3.4.0) - struct glfs * - pub_glfs_new(const char *volname) - { -@@ -914,8 +908,7 @@ out: - return fs; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_new, 3.4.0); -- -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_new_from_ctx, 3.7.0) - struct glfs * - priv_glfs_new_from_ctx(glusterfs_ctx_t *ctx) - { -@@ -934,8 +927,7 @@ out: - return fs; - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_new_from_ctx, 3.7.0); -- -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_free_from_ctx, 3.7.0) - void - priv_glfs_free_from_ctx(struct glfs *fs) - { -@@ -971,8 +963,7 @@ priv_glfs_free_from_ctx(struct glfs *fs) - FREE(fs); - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_free_from_ctx, 3.7.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile, 3.4.0) - int - pub_glfs_set_volfile(struct glfs *fs, const char *volfile) - { -@@ -989,8 +980,7 @@ pub_glfs_set_volfile(struct glfs *fs, const char *volfile) - return 0; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_volfile, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_logging, 3.4.0) - int - pub_glfs_set_logging(struct glfs *fs, const char *logfile, int loglevel) - { -@@ -1028,8 +1018,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_logging, 3.4.0); -- - int - glfs_init_wait(struct glfs *fs) - { -@@ -1048,6 +1036,7 @@ glfs_init_wait(struct glfs *fs) - return ret; - } - -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_init_done, 3.4.0) - void - priv_glfs_init_done(struct glfs *fs, int ret) - { -@@ -1078,8 +1067,6 @@ out: - return; - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_init_done, 3.4.0); -- - int - glfs_init_common(struct glfs *fs) - { -@@ -1119,6 +1106,7 @@ glfs_init_async(struct glfs *fs, glfs_init_cbk cbk) - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_init, 3.4.0) - int - pub_glfs_init(struct glfs *fs) - { -@@ -1151,8 +1139,6 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_init, 3.4.0); -- - static int - glusterfs_ctx_destroy(glusterfs_ctx_t *ctx) - { -@@ -1230,6 +1216,7 @@ glusterfs_ctx_destroy(glusterfs_ctx_t *ctx) - return ret; - } - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fini, 3.4.0) - int - pub_glfs_fini(struct glfs *fs) - { -@@ -1420,8 +1407,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_fini, 3.4.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volfile, 3.6.0) - ssize_t - pub_glfs_get_volfile(struct glfs *fs, void *buf, size_t len) - { -@@ -1447,8 +1433,7 @@ invalid_fs: - return res; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_get_volfile, 3.6.0); -- -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_ipc, 3.12.0) - int - priv_glfs_ipc(struct glfs *fs, int opcode, void *xd_in, void **xd_out) - { -@@ -1476,8 +1461,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_ipc, 3.12.0); -- -+GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_setfspid, 6.1) - int - priv_glfs_setfspid(struct glfs *fs, pid_t pid) - { -@@ -1491,107 +1475,104 @@ priv_glfs_setfspid(struct glfs *fs, pid_t pid) - - return ret; - } --GFAPI_SYMVER_PRIVATE_DEFAULT(glfs_setfspid, 6.1); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_free, 3.7.16) - void - pub_glfs_free(void *ptr) - { - GLFS_FREE(ptr); - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_free, 3.7.16); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_fs, 3.7.16) - struct glfs * - pub_glfs_upcall_get_fs(struct glfs_upcall *arg) - { - return arg->fs; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_fs, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_reason, 3.7.16) - enum glfs_upcall_reason - pub_glfs_upcall_get_reason(struct glfs_upcall *arg) - { - return arg->reason; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_reason, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_event, 3.7.16) - void * - pub_glfs_upcall_get_event(struct glfs_upcall *arg) - { - return arg->event; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_get_event, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_object, 3.7.16) - struct glfs_object * - pub_glfs_upcall_inode_get_object(struct glfs_upcall_inode *arg) - { - return arg->object; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_object, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_flags, 3.7.16) - uint64_t - pub_glfs_upcall_inode_get_flags(struct glfs_upcall_inode *arg) - { - return arg->flags; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_flags, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_stat, 3.7.16) - struct stat * - pub_glfs_upcall_inode_get_stat(struct glfs_upcall_inode *arg) - { - return &arg->buf; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_stat, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_expire, 3.7.16) - uint64_t - pub_glfs_upcall_inode_get_expire(struct glfs_upcall_inode *arg) - { - return arg->expire_time_attr; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_expire, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pobject, 3.7.16) - struct glfs_object * - pub_glfs_upcall_inode_get_pobject(struct glfs_upcall_inode *arg) - { - return arg->p_object; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pobject, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pstat, 3.7.16) - struct stat * - pub_glfs_upcall_inode_get_pstat(struct glfs_upcall_inode *arg) - { - return &arg->p_buf; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_pstat, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpobject, 3.7.16) - struct glfs_object * - pub_glfs_upcall_inode_get_oldpobject(struct glfs_upcall_inode *arg) - { - return arg->oldp_object; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpobject, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpstat, 3.7.16) - struct stat * - pub_glfs_upcall_inode_get_oldpstat(struct glfs_upcall_inode *arg) - { - return &arg->oldp_buf; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_inode_get_oldpstat, 3.7.16); - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_object, 4.1.6) - struct glfs_object * - pub_glfs_upcall_lease_get_object(struct glfs_upcall_lease *arg) - { - return arg->object; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_object, 4.1.6); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_lease_type, 4.1.6) - uint32_t - pub_glfs_upcall_lease_get_lease_type(struct glfs_upcall_lease *arg) - { - return arg->lease_type; - } --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_lease_get_lease_type, 4.1.6); - - /* definitions of the GLFS_SYSRQ_* chars are in glfs.h */ - static struct glfs_sysrq_help { -@@ -1601,6 +1582,7 @@ static struct glfs_sysrq_help { - {GLFS_SYSRQ_STATEDUMP, "(S)tatedump"}, - {0, NULL}}; - -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_sysrq, 3.10.0) - int - pub_glfs_sysrq(struct glfs *fs, char sysrq) - { -@@ -1649,8 +1631,7 @@ out: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_sysrq, 3.10.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_register, 3.13.0) - int - pub_glfs_upcall_register(struct glfs *fs, uint32_t event_list, - glfs_upcall_cbk cbk, void *data) -@@ -1706,8 +1687,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_register, 3.13.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_unregister, 3.13.0) - int - pub_glfs_upcall_unregister(struct glfs *fs, uint32_t event_list) - { -@@ -1754,8 +1734,7 @@ invalid_fs: - return ret; - } - --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_upcall_unregister, 3.13.0); -- -+GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_statedump_path, 7.0) - int - pub_glfs_set_statedump_path(struct glfs *fs, const char *path) - { -@@ -1815,5 +1794,3 @@ err: - invalid_fs: - return -1; - } -- --GFAPI_SYMVER_PUBLIC_DEFAULT(glfs_set_statedump_path, 7.0); --- -2.26.2 - diff --git a/glusterfs.spec b/glusterfs.spec index 8a8655d..cc9ff5b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -182,8 +182,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 8.0 -Release: 6%{?dev:%{dev}}%{?dist} +Version: 8.1 +Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -200,7 +200,6 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif -Patch0001: 0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patch Patch0002: 0002-rpc-rpc-lib-src-Makefile.am.patch Requires(pre): shadow-utils @@ -774,7 +773,6 @@ This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?dev} -%patch0001 -p1 %patch0002 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." @@ -1580,6 +1578,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Aug 25 2020 Kaleb S. KEITHLEY - 8.1-1 +- 8.1 GA + * Mon Jul 27 2020 Fedora Release Engineering - 8.0-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/sources b/sources index e660867..46a2946 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-8.0.tar.gz) = 6af94f31e08e9ba9d1f3f674678553815933f8db58672d4225f855dc47f3290e1ad22f44dbe95856f82120bf195bc2df7dbd02c88e3a27d9363877891c619b58 +SHA512 (glusterfs-8.1.tar.gz) = b95e461a356063350300bd7f89c35ea95036429839a8078ebaae485c3f8fbb960838c55eb80a09e4d9d3c210d123aef05cac68ef31b811ecb88d7772108ebcbf From 219b74fe83dd65497df627b3f392ab81d47dbc54 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 17 Sep 2020 07:07:20 -0400 Subject: [PATCH 052/116] 8.2 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index cc9ff5b..2635562 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -182,7 +182,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 8.1 +Version: 8.2 Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1578,6 +1578,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Sep 17 2020 Kaleb S. KEITHLEY - 8.2-1 +- 8.2 GA + * Tue Aug 25 2020 Kaleb S. KEITHLEY - 8.1-1 - 8.1 GA diff --git a/sources b/sources index 46a2946..68c6db4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-8.1.tar.gz) = b95e461a356063350300bd7f89c35ea95036429839a8078ebaae485c3f8fbb960838c55eb80a09e4d9d3c210d123aef05cac68ef31b811ecb88d7772108ebcbf +SHA512 (glusterfs-8.2.tar.gz) = e11ffd544cdfd55e4309bcf10d9f6d3cb13b3c0beeaf578e024c9b40df19f5bc5dc6965bca1166e96e05e42041093c48772b160952c235f7456f0898594d01d2 From aa94a08b5ef8ace7f563aa1104cde62b7384345b Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 5 Nov 2020 09:36:53 -0500 Subject: [PATCH 053/116] 8.2, rdma Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 2635562..049cf3a 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -183,7 +183,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 8.2 -Release: 1%{?dev:%{dev}}%{?dist} +Release: 2%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -261,6 +261,7 @@ Obsoletes: %{name}-gnfs <= %{version}-%{release} Obsoletes: %{name}-rdma < %{version}-%{release} Provides: %{name}-common = %{version}-%{release} Provides: %{name}-core = %{version}-%{release} +Provides: %{name}-rdma = %{version}-%{release} %description GlusterFS is a distributed file-system capable of scaling to several @@ -797,7 +798,6 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_fusermount} \ %{?_without_georeplication} \ %{?_without_ocf} \ - %{?_without_rdma} \ %{?_without_server} \ %{?_without_syslog} \ %{?_with_ipv6default} \ @@ -1168,9 +1168,6 @@ exit 0 %exclude %{_mandir}/man8/gluster.8* %endif %dir %{_localstatedir}/log/glusterfs -%if ( 0%{!?_without_rdma:1} ) -%exclude %{_libdir}/glusterfs/%{version}%{?dev}/rpc-transport/rdma* -%endif %if ( 0%{!?_without_server:1} ) %dir %{_datadir}/glusterfs %dir %{_datadir}/glusterfs/scripts @@ -1578,6 +1575,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Nov 5 2020 Kaleb S. KEITHLEY - 8.2-2 +- 8.2, rdma + * Thu Sep 17 2020 Kaleb S. KEITHLEY - 8.2-1 - 8.2 GA From 4ef17a069ac78c28c045c57d4f1eef361f4ebfeb Mon Sep 17 00:00:00 2001 From: Kaleb S KEITHLEY Date: Tue, 1 Dec 2020 10:56:21 -0500 Subject: [PATCH 054/116] 8.3 GA Signed-off-by: Kaleb S KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 049cf3a..654fc25 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -182,8 +182,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 8.2 -Release: 2%{?dev:%{dev}}%{?dist} +Version: 8.3 +Release: 1%{?dev:%{dev}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1575,6 +1575,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Dec 1 2020 Kaleb S. KEITHLEY - 8.3-1 +- 8.3 GA + * Thu Nov 5 2020 Kaleb S. KEITHLEY - 8.2-2 - 8.2, rdma diff --git a/sources b/sources index 68c6db4..1788560 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-8.2.tar.gz) = e11ffd544cdfd55e4309bcf10d9f6d3cb13b3c0beeaf578e024c9b40df19f5bc5dc6965bca1166e96e05e42041093c48772b160952c235f7456f0898594d01d2 +SHA512 (glusterfs-8.3.tar.gz) = 7ca9d3d8938eb27a7347461a07457e90d1ee6e8d5417970e38245c819cf09bf2ecf9de3954b75edf5cf14816e1059fb381b95935ae1f973ebd14ee7531322aa9 From 634903cc7aec64213cd69a46fb8a7400f5f861a1 Mon Sep 17 00:00:00 2001 From: Kaleb S KEITHLEY Date: Wed, 6 Jan 2021 11:32:38 -0500 Subject: [PATCH 055/116] 9.0 RC0 Signed-off-by: Kaleb S KEITHLEY --- 0002-rpc-rpc-lib-src-Makefile.am.patch | 12 -- glusterfs.spec | 231 +++++++++++++------------ sources | 2 +- 3 files changed, 126 insertions(+), 119 deletions(-) delete mode 100644 0002-rpc-rpc-lib-src-Makefile.am.patch diff --git a/0002-rpc-rpc-lib-src-Makefile.am.patch b/0002-rpc-rpc-lib-src-Makefile.am.patch deleted file mode 100644 index 4b167fc..0000000 --- a/0002-rpc-rpc-lib-src-Makefile.am.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- glusterfs-8.0/rpc/rpc-lib/src/Makefile.am.orig 2020-07-22 08:09:31.315980869 -0400 -+++ glusterfs-8.0/rpc/rpc-lib/src/Makefile.am 2020-07-22 08:10:12.203980869 -0400 -@@ -2,8 +2,7 @@ - - libgfrpc_la_SOURCES = auth-unix.c rpcsvc-auth.c rpcsvc.c auth-null.c \ - rpc-transport.c xdr-rpc.c xdr-rpcclnt.c rpc-clnt.c auth-glusterfs.c \ -- rpc-drc.c $(CONTRIBDIR)/sunrpc/xdr_sizeof.c rpc-clnt-ping.c \ -- autoscale-threads.c mgmt-pmap.c -+ rpc-drc.c rpc-clnt-ping.c autoscale-threads.c mgmt-pmap.c - - EXTRA_DIST = libgfrpc.sym - diff --git a/glusterfs.spec b/glusterfs.spec index 654fc25..5b42c60 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -4,10 +4,10 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -# %%global dev rc0 +%global prereltag rc0 ##----------------------------------------------------------------------------- -## All argument definitions should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## # asan @@ -108,9 +108,15 @@ %{?_with_valgrind:%global _with_valgrind --enable-valgrind} ##----------------------------------------------------------------------------- -## All %%global definitions should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## +# selinux booleans whose default value needs modification +# these booleans will be consumed by "%%selinux_set_booleans" macro. +%if ( 0%{?rhel} && 0%{?rhel} >= 8 ) +%global selinuxbooleans rsync_full_access=1 rsync_client=1 +%endif + %if ( 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %global _with_firewalld --enable-firewalld %endif @@ -137,13 +143,6 @@ %global _pythonver 2 %endif -# From https://fedoraproject.org/wiki/Packaging:Python#Macros -%if ( 0%{?rhel} && 0%{?rhel} < 7 ) -%{!?python2_sitelib: %global python2_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} -%{!?python2_sitearch: %global python2_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} -%global _rundir %{_localstatedir}/run -%endif - %global service_start() /bin/systemctl --quiet start %1.service || : \ %{nil} %global service_stop() /bin/systemctl --quiet stop %1.service || :\ @@ -177,13 +176,13 @@ ##----------------------------------------------------------------------------- -## All package definitions should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 8.3 -Release: 1%{?dev:%{dev}}%{?dist} +Version: 9.0 +Release: 0.1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -192,7 +191,7 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.4 License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) -Source0: http://download.gluster.org/pub/gluster/%{name}/LATEST/%{version}%{?dev}/%{name}-%{version}%{?dev}.tar.gz +Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source7: glusterfsd.service @@ -200,7 +199,6 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif -Patch0002: 0002-rpc-rpc-lib-src-Makefile.am.patch Requires(pre): shadow-utils BuildRequires: systemd @@ -384,7 +382,7 @@ It borrows a powerful concept called Translators from GNU Hurd kernel. Much of the code in GlusterFS is in user space and easily manageable. This package provides support to FUSE based clients and includes the -glusterfsd and glusterfs binaries. +glusterfs and glusterfsd binaries. %if ( 0%{!?_without_server:1} ) %package ganesha @@ -438,7 +436,20 @@ Requires: %{name}-server = %{version}-%{release} Requires: python%{_pythonver} Requires: python%{_pythonver}-prettytable Requires: python%{_pythonver}-gluster = %{version}-%{release} + Requires: rsync +Requires: util-linux +%if ( 0%{?rhel} && ( ( 0%{?rhel} == 8 && 0%{?rhel_minor_version} >= 3 ) || 0%{?rhel} >= 9 ) ) +Requires: tar +%endif +# required for setting selinux bools +%if ( 0%{?rhel} && 0%{?rhel} >= 8 ) +Requires(post): policycoreutils-python-utils +Requires(postun): policycoreutils-python-utils +Requires: selinux-policy-targeted +Requires(post): selinux-policy-targeted +BuildRequires: selinux-policy-devel +%endif %description geo-replication GlusterFS is a distributed file-system capable of scaling to several @@ -712,6 +723,9 @@ Requires: %{name} = %{version}-%{release} Requires: libglusterfs0%{?_isa} = %{version}-%{release} Requires: libgfchangelog0%{?_isa} = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release} +%if ( 0%{?fedora} && 0%{?fedora} >= 30 || ( 0%{?rhel} && 0%{?rhel} >= 8 ) ) +# Requires: %%{name}-selinux >= 0.1.0-2 +%endif # some daemons (like quota) use a fuse-mount, glusterfsd is part of -fuse Requires: %{name}-fuse = %{version}-%{release} # self-heal daemon, rebalance, nfs-server etc. are actually clients @@ -773,8 +787,7 @@ functionality, and also few other scripts required for setup. This package provides the glusterfs thin-arbiter translator. %prep -%setup -q -n %{name}-%{version}%{?dev} -%patch0002 -p1 +%setup -q -n %{name}-%{version}%{?prereltag} %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -855,7 +868,7 @@ head -50 ChangeLog > ChangeLog.head && mv ChangeLog.head ChangeLog cat << EOM >> ChangeLog More commit messages for this ChangeLog can be found at -https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?dev} +https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prereltag} EOM # Remove benchmarking and other unpackaged files @@ -931,7 +944,7 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ %{buildroot}%{_sysconfdir}/bash_completion.d/gluster ##----------------------------------------------------------------------------- -## All %%post should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## %post %{?ldconfig} @@ -971,6 +984,9 @@ exit 0 %if ( 0%{!?_without_georeplication:1} ) %post geo-replication +%if ( 0%{?rhel} && 0%{?rhel} >= 8 ) +%selinux_set_booleans %{selinuxbooleans} +%endif if [ $1 -ge 1 ]; then %systemd_postun_with_restart glusterd fi @@ -1055,7 +1071,7 @@ exit 0 %endif ##----------------------------------------------------------------------------- -## All %%pre should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## %pre getent group gluster > /dev/null || groupadd -r gluster @@ -1063,7 +1079,7 @@ getent passwd gluster > /dev/null || useradd -r -g gluster -d %{_rundir}/gluster exit 0 ##----------------------------------------------------------------------------- -## All %%preun should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## %if ( 0%{!?_without_events:1} ) %preun events @@ -1106,7 +1122,7 @@ if [ $1 -eq 0 ]; then fi ##----------------------------------------------------------------------------- -## All %%postun should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## %postun %{?ldconfig} @@ -1135,7 +1151,7 @@ exit 0 %endif ##----------------------------------------------------------------------------- -## All %%trigger should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## %if ( 0%{!?_without_server:1} ) %if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) @@ -1146,7 +1162,7 @@ exit 0 %endif ##----------------------------------------------------------------------------- -## All %%triggerun should be placed here and keep them sorted +## All package definitions should be placed here in alphabetical order ## %if ( 0%{!?_without_server:1} ) %if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) @@ -1157,7 +1173,7 @@ exit 0 %endif ##----------------------------------------------------------------------------- -## All %%files should be placed here and keep them sorted by groups +## All package definitions should be placed here in alphabetical order ## %files %{!?_licensedir:%global license %%doc} @@ -1176,46 +1192,46 @@ exit 0 %endif # xlators that are needed on the client- and on the server-side %dir %{_libdir}/glusterfs -%dir %{_libdir}/glusterfs/%{version}%{?dev} -%dir %{_libdir}/glusterfs/%{version}%{?dev}/auth - %{_libdir}/glusterfs/%{version}%{?dev}/auth/addr.so - %{_libdir}/glusterfs/%{version}%{?dev}/auth/login.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/rpc-transport - %{_libdir}/glusterfs/%{version}%{?dev}/rpc-transport/socket.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/debug - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/debug/error-gen.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/debug/delay-gen.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/debug/io-stats.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/debug/sink.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/debug/trace.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/access-control.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/barrier.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/cdc.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/changelog.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/utime.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/gfid-access.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/namespace.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/read-only.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/shard.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/snapview-client.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/worm.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/cloudsync.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/meta.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/io-cache.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/io-threads.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/md-cache.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/open-behind.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/quick-read.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/read-ahead.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/readdir-ahead.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/stat-prefetch.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/write-behind.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/performance/nl-cache.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/system - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/system/posix-acl.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag} +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/auth + %{_libdir}/glusterfs/%{version}%{?prereltag}/auth/addr.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/auth/login.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport + %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/socket.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/error-gen.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/delay-gen.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/io-stats.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/sink.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/trace.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/access-control.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/barrier.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/cdc.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changelog.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/utime.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/gfid-access.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/namespace.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/read-only.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/shard.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-client.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/worm.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/cloudsync.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/meta.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-cache.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/io-threads.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/md-cache.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/open-behind.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/quick-read.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/read-ahead.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/readdir-ahead.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/stat-prefetch.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/write-behind.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/performance/nl-cache.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system/posix-acl.so %dir %attr(0775,gluster,gluster) %{_rundir}/gluster %dir %attr(0775,gluster,gluster) %{_rundir}/gluster/metrics %if 0%{?_tmpfilesdir:1} && 0%{!?_without_server:1} @@ -1235,15 +1251,15 @@ exit 0 %{_sysconfdir}/bash_completion.d/gluster %files client-xlators -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/cluster - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/cluster/*.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/protocol -%{_libdir}/glusterfs/%{version}%{?dev}/xlator/protocol/client.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/*.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so %files cloudsync-plugins -%dir %{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins - %{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins/cloudsyncs3.so - %{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins/cloudsynccvlt.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins + %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsyncs3.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsynccvlt.so %files -n libglusterfs-devel %dir %{_includedir}/glusterfs @@ -1289,18 +1305,18 @@ exit 0 %endif %files extra-xlators -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/quiesce.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/playground - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/playground/template.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/playground/template.so %files fuse # glusterfs is a symlink to glusterfsd, -server depends on -fuse. %{_sbindir}/glusterfs %{_sbindir}/glusterfsd %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/mount - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/mount/fuse.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse.so /sbin/mount.glusterfs %if ( 0%{!?_without_fusermount:1} ) %{_bindir}/fusermount-glusterfs @@ -1308,8 +1324,8 @@ exit 0 %if ( 0%{?_with_gnfs:1} && 0%{!?_without_server:1} ) %files gnfs -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/nfs - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/nfs/* +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs/* %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/nfs-server.vol %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run @@ -1426,7 +1442,7 @@ exit 0 %exclude %{_sharedstatedir}/glusterd/nfs/nfs-server.vol %exclude %{_sharedstatedir}/glusterd/nfs/run/nfs.pid %if ( 0%{?_with_gnfs:1} ) -%exclude %{_libdir}/glusterfs/%{version}%{?dev}/xlator/nfs/* +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs/* %endif %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %if ( 0%{_for_fedora_koji_builds} ) @@ -1452,27 +1468,27 @@ exit 0 # Manpages %{_mandir}/man8/gluster-setgfid2path.8* -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/arbiter.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/bit-rot.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/bitrot-stub.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/sdfs.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/index.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/locks.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/posix* - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/snapview-server.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/marker.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/quota* - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/selinux.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/trash.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/upcall.so - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/leases.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/mgmt - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/mgmt/glusterd.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/protocol - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/protocol/server.so -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/storage - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/storage/posix.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/sdfs.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/index.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/locks.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota* + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/selinux.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/upcall.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/leases.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt/glusterd.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage/posix.so # snap_scheduler %{_sbindir}/snap_scheduler.py @@ -1566,15 +1582,18 @@ exit 0 %endif %files thin-arbiter -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator -%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features - %{_libdir}/glusterfs/%{version}%{?dev}/xlator/features/thin-arbiter.so +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator +%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/thin-arbiter.so %dir %{_datadir}/glusterfs/scripts %{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh %config %{_sysconfdir}/glusterfs/thin-arbiter.vol %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Jan 6 2021 Kaleb S. KEITHLEY - 9.0-0.1 +- 9.0 RC0 + * Tue Dec 1 2020 Kaleb S. KEITHLEY - 8.3-1 - 8.3 GA diff --git a/sources b/sources index 1788560..cb47d57 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-8.3.tar.gz) = 7ca9d3d8938eb27a7347461a07457e90d1ee6e8d5417970e38245c819cf09bf2ecf9de3954b75edf5cf14816e1059fb381b95935ae1f973ebd14ee7531322aa9 +SHA512 (glusterfs-9.0rc0.tar.gz) = f2dcb0f53cd0a8729734f8f980cba32a9b3c5d6add4f27bc35ceb09122b6bac016279eeb0e0c00b2d10f5590f3dac06f9f8470835c111e8b52849ede415a835e From 1601bef457273bdd3e76fb51c7441129df095c81 Mon Sep 17 00:00:00 2001 From: Kaleb S KEITHLEY Date: Thu, 7 Jan 2021 08:27:56 -0500 Subject: [PATCH 056/116] 9.0 RC0, fuse3 Signed-off-by: Kaleb S KEITHLEY --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 5b42c60..142084d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -182,7 +182,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.0 -Release: 0.1%{?prereltag:%{prereltag}}%{?dist} +Release: 0.2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -363,7 +363,7 @@ for GlusterFS. %package fuse Summary: Fuse client -BuildRequires: fuse-devel +BuildRequires: fuse3-devel Requires: attr Requires: psmisc @@ -1591,6 +1591,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Jan 7 2021 Kaleb S. KEITHLEY - 9.0-0.2 +- 9.0 RC0, fuse3 + * Wed Jan 6 2021 Kaleb S. KEITHLEY - 9.0-0.1 - 9.0 RC0 From 3dc7156fadad4b5858fd8acee979c92d0e22ae8e Mon Sep 17 00:00:00 2001 From: Kaleb S KEITHLEY Date: Tue, 19 Jan 2021 07:59:04 -0500 Subject: [PATCH 057/116] 9.0 GA Signed-off-by: Kaleb S KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 142084d..da21ee9 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -4,7 +4,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -%global prereltag rc0 +# %%global prereltag rc0 ##----------------------------------------------------------------------------- ## All package definitions should be placed here in alphabetical order @@ -182,7 +182,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.0 -Release: 0.2%{?prereltag:%{prereltag}}%{?dist} +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1591,6 +1591,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jan 19 2021 Kaleb S. KEITHLEY - 9.0-1 +- 9.0 GA + * Thu Jan 7 2021 Kaleb S. KEITHLEY - 9.0-0.2 - 9.0 RC0, fuse3 diff --git a/sources b/sources index cb47d57..ed57c7c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-9.0rc0.tar.gz) = f2dcb0f53cd0a8729734f8f980cba32a9b3c5d6add4f27bc35ceb09122b6bac016279eeb0e0c00b2d10f5590f3dac06f9f8470835c111e8b52849ede415a835e +SHA512 (glusterfs-9.0.tar.gz) = daa5a7342c067c75668910e8fed17145636e7a576830b4cd68e81d9fceedaab918228b8780ebd5014e2397e0606858af650cd2c52bec0883ccd2126955ad07e7 From e819fbe826adefd1f8b58339439dcaa743b59e08 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 08:27:21 +0000 Subject: [PATCH 058/116] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index da21ee9..977f1cf 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -182,11 +182,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.0 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.4 +Release: 0.@PACKAGE_RELEASE@%{?dist}.5 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1591,6 +1591,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 9.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Jan 19 2021 Kaleb S. KEITHLEY - 9.0-1 - 9.0 GA From 5230caa4d08f72d462a7ce24c2d5b6139049d974 Mon Sep 17 00:00:00 2001 From: Kaleb S KEITHLEY Date: Wed, 27 Jan 2021 08:03:03 -0500 Subject: [PATCH 059/116] 9.0, w/ liburing Signed-off-by: Kaleb S KEITHLEY --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 977f1cf..60926f3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -182,7 +182,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.0 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Release: 3%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -219,7 +219,7 @@ BuildRequires: bison flex BuildRequires: gcc make libtool BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel -BuildRequires: libaio-devel libacl-devel +BuildRequires: libaio-devel libacl-devel liburing-devel BuildRequires: python%{_pythonver}-devel %if ( 0%{?rhel} && 0%{?rhel} < 8 ) BuildRequires: python-ctypes @@ -1591,6 +1591,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Jan 27 2021 Kaleb S. KEITHLEY - 9.0-3 +- 9.0, w/ liburing + * Tue Jan 26 2021 Fedora Release Engineering - 9.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 9090e9784d6a55d11897783e4f674c986a23503b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:13:43 +0100 Subject: [PATCH 060/116] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- glusterfs.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 60926f3..f576a40 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -182,11 +182,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.0 -Release: 3%{?prereltag:%{prereltag}}%{?dist} +Release: 4%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.5 +Release: 0.@PACKAGE_RELEASE@%{?dist}.6 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1591,6 +1591,10 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 9.0-4 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Wed Jan 27 2021 Kaleb S. KEITHLEY - 9.0-3 - 9.0, w/ liburing From b9f277a6187a5f6f2d539679bf793cbd8480f5a9 Mon Sep 17 00:00:00 2001 From: Kaleb S KEITHLEY Date: Tue, 30 Mar 2021 08:05:40 -0400 Subject: [PATCH 061/116] 9.1 GA Signed-off-by: Kaleb S KEITHLEY --- glusterfs.spec | 24 +++++++++++++++++++++--- sources | 2 +- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index f576a40..fe85440 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -54,6 +54,16 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with ipv6default %{?_with_ipv6default:%global _with_ipv6default --with-ipv6-default} +# linux-io_uring +# If you wish to compile an rpm without linux-io_uring support... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --disable-linux-io_uring +%{?_without_linux_io_uring:%global _without_linux_io_uring --disable-linux-io_uring} + +# Disable linux-io_uring on unsupported distros. +%if ( 0%{?fedora} && 0%{?fedora} <= 32 ) || ( 0%{?rhel} && 0%{?rhel} <= 7 ) +%global _without_linux_io_uring --disable-linux-io_uring +%endif + # libtirpc # if you wish to compile an rpm without TIRPC (i.e. use legacy glibc rpc) # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without libtirpc @@ -181,8 +191,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 9.0 -Release: 4%{?prereltag:%{prereltag}}%{?dist} +Version: 9.1 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -219,7 +229,7 @@ BuildRequires: bison flex BuildRequires: gcc make libtool BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel -BuildRequires: libaio-devel libacl-devel liburing-devel +BuildRequires: libaio-devel libacl-devel BuildRequires: python%{_pythonver}-devel %if ( 0%{?rhel} && 0%{?rhel} < 8 ) BuildRequires: python-ctypes @@ -246,6 +256,10 @@ BuildRequires: libattr-devel BuildRequires: firewalld %endif +%if ( 0%{!?_without_linux_io_uring:1} ) +BuildRequires: liburing-devel +%endif + Obsoletes: hekafs <= %{version}-%{release} Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-core < %{version}-%{release} @@ -814,6 +828,7 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_server} \ %{?_without_syslog} \ %{?_with_ipv6default} \ + %{?_without_linux_io_uring} \ %{?_without_libtirpc} # fix hardening and remove rpath in shlibs @@ -1591,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Mar 30 2021 Kaleb S. KEITHLEY - 9.1-1 +- 9.1 GA + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 9.0-4 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. diff --git a/sources b/sources index ed57c7c..ba65d98 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-9.0.tar.gz) = daa5a7342c067c75668910e8fed17145636e7a576830b4cd68e81d9fceedaab918228b8780ebd5014e2397e0606858af650cd2c52bec0883ccd2126955ad07e7 +SHA512 (glusterfs-9.1.tar.gz) = 2c26813f12fed7a0640cc470badc2b83f156b660ef475487a689dca6c3fa407192f4959aeaf7a981969a079cf5d2c7aace85ff818ea6133d5a085d90d226e1da From 978a5fb92ba4811c6f22fc73cc8b5820cfa2b544 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 14 Apr 2021 10:22:43 +0100 Subject: [PATCH 062/116] Rebuild for updated liburing. --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index fe85440..2dfbec5 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,11 +192,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.1 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.6 +Release: 0.@PACKAGE_RELEASE@%{?dist}.7 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Apr 14 2021 Richard W.M. Jones - 9.1-2 +- Rebuild for updated liburing. + * Tue Mar 30 2021 Kaleb S. KEITHLEY - 9.1-1 - 9.1 GA From 173820a67e5e5674c17e3d21fb19bc37d68f1d76 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Sun, 9 May 2021 10:10:40 -0400 Subject: [PATCH 063/116] 9.2 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 2dfbec5..f1eafbe 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -191,8 +191,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 9.1 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Version: 9.2 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Sun May 9 2021 Kaleb S. KEITHLEY - 9.2-1 +- 9.2 GA + * Wed Apr 14 2021 Richard W.M. Jones - 9.1-2 - Rebuild for updated liburing. diff --git a/sources b/sources index ba65d98..66b1158 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-9.1.tar.gz) = 2c26813f12fed7a0640cc470badc2b83f156b660ef475487a689dca6c3fa407192f4959aeaf7a981969a079cf5d2c7aace85ff818ea6133d5a085d90d226e1da +SHA512 (glusterfs-9.2.tar.gz) = 34a0a1745029e2fad3c8fc6a044b4e4645f8cf11eddc3c8c8e94cce9733449248c577ce6066bc49010a65121d991daf67766393fe513ac694082f0efa1d4ef95 From 2916fdc71b451645ab5d8707fb92dd1d47fe54b5 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 20:05:34 +0200 Subject: [PATCH 064/116] Rebuilt for Python 3.10 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index f1eafbe..b136b84 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,11 +192,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.2 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.7 +Release: 0.@PACKAGE_RELEASE@%{?dist}.8 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Fri Jun 04 2021 Python Maint - 9.2-2 +- Rebuilt for Python 3.10 + * Sun May 9 2021 Kaleb S. KEITHLEY - 9.2-1 - 9.2 GA From 17fe09e28aee7efbec9ce88bcc068d2138e7c025 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 8 Jun 2021 15:12:25 -0400 Subject: [PATCH 065/116] Rebuilt for userspace-rcu-0.13 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index b136b84..c720330 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,7 +192,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.2 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Release: 3%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jun 8 2021 Kaleb S. KEITHLEY - 9.2-3 +- Rebuilt for userspace-rcu-0.13 + * Fri Jun 04 2021 Python Maint - 9.2-2 - Rebuilt for Python 3.10 From 465e00eebac45519496c8cdaaee28741329d94d7 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 11 Jun 2021 10:58:42 -0400 Subject: [PATCH 066/116] https://src.fedoraproject.org/rpms/glusterfs/pull-request/7 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index c720330..e4c71d4 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,7 +192,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.2 -Release: 3%{?prereltag:%{prereltag}}%{?dist} +Release: 4%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -839,7 +839,7 @@ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool gcc -v -make %{?_smp_mflags} V=1 +%make_build V=1 %check make check @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Fri Jun 11 2021 Kaleb S. KEITHLEY - 9.2-4 +- https://src.fedoraproject.org/rpms/glusterfs/pull-request/7 + * Tue Jun 8 2021 Kaleb S. KEITHLEY - 9.2-3 - Rebuilt for userspace-rcu-0.13 From 6cbd94e3c1e92f410774808df6c77f8d59d8ca72 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 22 Jun 2021 09:03:30 -0400 Subject: [PATCH 067/116] Rebuilt for userspace-rcu-0.13 again Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index e4c71d4..8b279a6 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,7 +192,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.2 -Release: 4%{?prereltag:%{prereltag}}%{?dist} +Release: 5%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -839,10 +839,10 @@ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool gcc -v -%make_build V=1 +%make_build V=1 GCC_COLORS= %check -make check +%make_build check %install rm -rf %{buildroot} @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jun 22 2021 Kaleb S. KEITHLEY - 9.2-5 +- Rebuilt for userspace-rcu-0.13 again + * Fri Jun 11 2021 Kaleb S. KEITHLEY - 9.2-4 - https://src.fedoraproject.org/rpms/glusterfs/pull-request/7 From fa60d94daac1e2efefd7640a1f1ccbff4e2ff47c Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 29 Jun 2021 07:50:15 -0400 Subject: [PATCH 068/116] 9.3 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8b279a6..cc52419 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -191,8 +191,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 9.2 -Release: 5%{?prereltag:%{prereltag}}%{?dist} +Version: 9.3 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jun 29 2021 Kaleb S. KEITHLEY - 9.3-1 +- 9.3 GA + * Tue Jun 22 2021 Kaleb S. KEITHLEY - 9.2-5 - Rebuilt for userspace-rcu-0.13 again diff --git a/sources b/sources index 66b1158..4dc15dc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-9.2.tar.gz) = 34a0a1745029e2fad3c8fc6a044b4e4645f8cf11eddc3c8c8e94cce9733449248c577ce6066bc49010a65121d991daf67766393fe513ac694082f0efa1d4ef95 +SHA512 (glusterfs-9.3.tar.gz) = 0974cf57a6810505f767c490b53201e62bb73ca2fd3c5203d9882dcbe4088c816afb5445ef606d12fb797b1b1fa5e0994f2ea0816577f70e630637668a20f005 From 14756297824069775d19c5565d717f88c46730d0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 22 Jul 2021 02:00:35 +0000 Subject: [PATCH 069/116] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index cc52419..d94549c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,11 +192,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.3 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.8 +Release: 0.@PACKAGE_RELEASE@%{?dist}.9 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Jul 22 2021 Fedora Release Engineering - 9.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Tue Jun 29 2021 Kaleb S. KEITHLEY - 9.3-1 - 9.3 GA From 3865754255ec9de09f967f43836b05639d3ff1dc Mon Sep 17 00:00:00 2001 From: Sahana Prasad Date: Tue, 14 Sep 2021 19:03:23 +0200 Subject: [PATCH 070/116] Rebuilt with OpenSSL 3.0.0 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index d94549c..74a4ae3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -192,11 +192,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 9.3 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Release: 3%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.9 +Release: 0.@PACKAGE_RELEASE@%{?dist}.10 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Sep 14 2021 Sahana Prasad - 9.3-3 +- Rebuilt with OpenSSL 3.0.0 + * Thu Jul 22 2021 Fedora Release Engineering - 9.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From 03346a40c04f6f8d4dbd433a99c9104e208d4f78 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 4 Oct 2021 07:56:02 -0400 Subject: [PATCH 071/116] 9.4 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- python.patch | 32 -------------------------------- sources | 2 +- 3 files changed, 6 insertions(+), 35 deletions(-) delete mode 100644 python.patch diff --git a/glusterfs.spec b/glusterfs.spec index d94549c..1462e43 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -191,8 +191,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 9.3 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Version: 9.4 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1606,6 +1606,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Mon Oct 4 2021 Kaleb S. KEITHLEY - 9.4-1 +- 9.4 GA + * Thu Jul 22 2021 Fedora Release Engineering - 9.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/python.patch b/python.patch deleted file mode 100644 index b8d8730..0000000 --- a/python.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- glusterfs-4.1.1/xlators/features/utime/src/utime-gen-fops-c.py.orig 2018-07-11 09:40:35.166390285 -0400 -+++ glusterfs-4.1.1/xlators/features/utime/src/utime-gen-fops-c.py 2018-07-11 09:41:00.743390285 -0400 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python2 - - import os - import sys ---- glusterfs-4.1.1/xlators/features/utime/src/utime-gen-fops-h.py.orig 2018-07-11 09:40:49.035390285 -0400 -+++ glusterfs-4.1.1/xlators/features/utime/src/utime-gen-fops-h.py 2018-07-11 09:41:06.015390285 -0400 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python2 - - import os - import sys ---- glusterfs-4.1.1/xlators/features/cloudsync/src/cloudsync-fops-c.py.orig 2018-07-11 09:41:30.646390285 -0400 -+++ glusterfs-4.1.1/xlators/features/cloudsync/src/cloudsync-fops-c.py 2018-07-11 09:41:53.033390285 -0400 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python2 - - from __future__ import print_function - import os ---- glusterfs-4.1.1/xlators/features/cloudsync/src/cloudsync-fops-h.py.orig 2018-07-11 09:41:38.198390285 -0400 -+++ glusterfs-4.1.1/xlators/features/cloudsync/src/cloudsync-fops-h.py 2018-07-11 09:41:55.423390285 -0400 -@@ -1,4 +1,4 @@ --#!/usr/bin/python -+#!/usr/bin/python2 - - from __future__ import print_function - import os diff --git a/sources b/sources index 4dc15dc..012c0b1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-9.3.tar.gz) = 0974cf57a6810505f767c490b53201e62bb73ca2fd3c5203d9882dcbe4088c816afb5445ef606d12fb797b1b1fa5e0994f2ea0816577f70e630637668a20f005 +SHA512 (glusterfs-9.4.tar.gz) = 2a17197bd2b425117e34af004a6177b7c5012807cd99b9c6d37a1081e0ab9def6b013bedd0ba4122d149969755e0e2985bef8aed9cf612a27a6452b8719a33bf From 80badd1442cc0de438a78d0c35a7d11377e72bea Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 19 Oct 2021 11:27:05 -0400 Subject: [PATCH 072/116] 10.0 RC0 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 28 +++++++++++++++++++++------- sources | 2 +- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 55751fc..40339f5 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -4,7 +4,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -# %%global prereltag rc0 +%global prereltag rc0 ##----------------------------------------------------------------------------- ## All package definitions should be placed here in alphabetical order @@ -75,6 +75,11 @@ %global _without_libtirpc --without-libtirpc %endif +# libtcmalloc +# if you wish to compile an rpm without tcmalloc (i.e. use gluster mempool) +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without tcmalloc +%{?_without_tcmalloc:%global _without_libtcmalloc --without-tcmalloc} + # ocf # if you wish to compile an rpm without the OCF resource agents... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf @@ -191,8 +196,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 9.4 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Version: 10.0 +Release: 0.1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -213,6 +218,10 @@ Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz Requires(pre): shadow-utils BuildRequires: systemd +%if 0%{!?_without_tcmalloc:1} +Requires: gperftools-libs%{?_isa} +%endif + Requires: libglusterfs0%{?_isa} = %{version}-%{release} Requires: libgfrpc0%{?_isa} = %{version}-%{release} Requires: libgfxdr0%{?_isa} = %{version}-%{release} @@ -231,6 +240,9 @@ BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel BuildRequires: libaio-devel libacl-devel BuildRequires: python%{_pythonver}-devel +%if 0%{!?_without_tcmalloc:1} +BuildRequires: gperftools-devel +%endif %if ( 0%{?rhel} && 0%{?rhel} < 8 ) BuildRequires: python-ctypes %endif @@ -453,9 +465,7 @@ Requires: python%{_pythonver}-gluster = %{version}-%{release} Requires: rsync Requires: util-linux -%if ( 0%{?rhel} && ( ( 0%{?rhel} == 8 && 0%{?rhel_minor_version} >= 3 ) || 0%{?rhel} >= 9 ) ) Requires: tar -%endif # required for setting selinux bools %if ( 0%{?rhel} && 0%{?rhel} >= 8 ) Requires(post): policycoreutils-python-utils @@ -829,7 +839,8 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_syslog} \ %{?_with_ipv6default} \ %{?_without_linux_io_uring} \ - %{?_without_libtirpc} + %{?_without_libtirpc} \ + %{?_without_tcmalloc} # fix hardening and remove rpath in shlibs %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) @@ -1374,7 +1385,7 @@ exit 0 %{_libexecdir}/glusterfs/python/syncdaemon/* %dir %{_libexecdir}/glusterfs/scripts %{_libexecdir}/glusterfs/scripts/get-gfid.sh - %{_libexecdir}/glusterfs/scripts/slave-upgrade.sh + %{_libexecdir}/glusterfs/scripts/secondary-upgrade.sh %{_libexecdir}/glusterfs/scripts/gsync-upgrade.sh %{_libexecdir}/glusterfs/scripts/generate-gfid-file.sh %{_libexecdir}/glusterfs/scripts/gsync-sync-gfid @@ -1606,6 +1617,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Oct 19 2021 Kaleb S. KEITHLEY - 10.0-0.1rc0 +- 10.0 RC0 + * Mon Oct 4 2021 Kaleb S. KEITHLEY - 9.4-1 - 9.4 GA diff --git a/sources b/sources index 012c0b1..3290704 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-9.4.tar.gz) = 2a17197bd2b425117e34af004a6177b7c5012807cd99b9c6d37a1081e0ab9def6b013bedd0ba4122d149969755e0e2985bef8aed9cf612a27a6452b8719a33bf +SHA512 (glusterfs-10.0rc0.tar.gz) = 2c37333a8b9622636be981499ebd0650483c26ee0ef0473dfa10a35681b9c519be88b7684d90812e3816be2429abfbbd4fd619c0a1999dbb680286c2c27709e5 From 09db540e359f6345a4d49b2b6525e23b7d1a67f7 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 19 Oct 2021 11:59:16 -0400 Subject: [PATCH 073/116] 10.0 RC0 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/glusterfs.spec b/glusterfs.spec index 40339f5..d4de1bf 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -205,6 +205,8 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.10 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ +# armv7hl gives undefined reference to `_uatomic_link_error' +ExcludeArch: armv7hl %if ( 0%{_for_fedora_koji_builds} ) Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig From 8e29421e267d21194f9d7300c12b47f451d9e81a Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 28 Oct 2021 11:13:00 -0400 Subject: [PATCH 074/116] 10.0 RC0, armv7hl Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index d4de1bf..32ddc8f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -197,7 +197,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.0 -Release: 0.1%{?prereltag:%{prereltag}}%{?dist} +Release: 0.2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -205,8 +205,6 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.10 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ -# armv7hl gives undefined reference to `_uatomic_link_error' -ExcludeArch: armv7hl %if ( 0%{_for_fedora_koji_builds} ) Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig @@ -822,6 +820,10 @@ done %endif %build +%ifarch armv7hl +%set_build_flags +export CFLAGS="$(echo $CFLAGS) -DUATOMIC_NO_LINK_ERROR" +%endif sed -i -e 's/--quiet//' configure.ac ./autogen.sh && %configure \ %{?_with_asan} \ @@ -851,7 +853,6 @@ sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|' libtool -gcc -v %make_build V=1 GCC_COLORS= %check @@ -1619,6 +1620,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Oct 28 2021 Kaleb S. KEITHLEY - 10.0-0.2rc0 +- 10.0 RC0, armv7hl + * Tue Oct 19 2021 Kaleb S. KEITHLEY - 10.0-0.1rc0 - 10.0 RC0 From 3d10f66c481d7b9d48ab52aff2493a3a255f5b13 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 29 Oct 2021 07:49:48 -0400 Subject: [PATCH 075/116] 10.0 RC0, without_tcmalloc, rhbz#2018439 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 32ddc8f..2f0dfab 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -80,6 +80,10 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without tcmalloc %{?_without_tcmalloc:%global _without_libtcmalloc --without-tcmalloc} +%ifnarch x86_64 +%global _without_libtcmalloc --without-tcmalloc +%endif + # ocf # if you wish to compile an rpm without the OCF resource agents... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf @@ -197,7 +201,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.0 -Release: 0.2%{?prereltag:%{prereltag}}%{?dist} +Release: 0.3%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1620,6 +1624,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Fri Oct 29 2021 Kaleb S. KEITHLEY - 10.0-0.3rc0 +- 10.0 RC0, without_tcmalloc, rhbz#2018439 + * Thu Oct 28 2021 Kaleb S. KEITHLEY - 10.0-0.2rc0 - 10.0 RC0, armv7hl From 41e85331ab46cdd4ff2b7fbbaad92b133e5c80d0 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 29 Oct 2021 09:34:09 -0400 Subject: [PATCH 076/116] 10.0 RC0, without_tcmalloc, rhbz#2018439 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 2f0dfab..19cfe4a 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -81,7 +81,7 @@ %{?_without_tcmalloc:%global _without_libtcmalloc --without-tcmalloc} %ifnarch x86_64 -%global _without_libtcmalloc --without-tcmalloc +%global _without_tcmalloc --without-tcmalloc %endif # ocf @@ -844,7 +844,6 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_georeplication} \ %{?_without_ocf} \ %{?_without_server} \ - %{?_without_syslog} \ %{?_with_ipv6default} \ %{?_without_linux_io_uring} \ %{?_without_libtirpc} \ From f2c7a01f53dbf877421a588b965826a92d0c121f Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 2 Nov 2021 07:38:41 -0400 Subject: [PATCH 077/116] 10.0 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterd.init | 109 ------------------------------------------------- glusterfs.spec | 7 +++- sources | 2 +- 3 files changed, 6 insertions(+), 112 deletions(-) delete mode 100644 glusterd.init diff --git a/glusterd.init b/glusterd.init deleted file mode 100644 index fecb77d..0000000 --- a/glusterd.init +++ /dev/null @@ -1,109 +0,0 @@ -#!/bin/sh -# -# glusterd Startup script for the glusterfs server -# -# chkconfig: - 20 80 -# description: Clustered file-system server - -### BEGIN INIT INFO -# Provides: glusterd -# Required-Start: $local_fs $network -# Required-Stop: $local_fs $network -# Should-Start: -# Should-Stop: -# Default-Start: -# Default-Stop: 0 1 2 3 4 5 6 -# Short-Description: glusterfs server -# Description: Clustered file-system server -### END INIT INFO - -# Source function library. -. /etc/rc.d/init.d/functions - -exe="/usr/sbin/glusterd" -prog="glusterd" - -# Fedora File System Layout dictates /run -[ -e /run ] && RUNDIR="/run" -pidf="${RUNDIR:-/var/run}/$prog.pid" - -# Set defaults, then source config for eventual overrides -GLUSTERD_NOFILE="65536" - -[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog - -lockfile=/var/lock/subsys/$prog - -start() { - [ -x $exe ] || exit 5 - ulimit -n $GLUSTERD_NOFILE - echo -n $"Starting $prog: " - daemon $exe${GLUSTERD_LOGFILE+" -l $GLUSTERD_LOGFILE"}${GLUSTERD_LOGLEVEL+" -L $GLUSTERD_LOGLEVEL"} -p $pidf - retval=$? - echo - [ $retval -eq 0 ] && touch $lockfile /var/lock/subsys/glusterfsd - return $retval -} - -stop() { - echo -n $"Stopping $prog: " - killproc $prog - retval=$? - echo - [ $retval -eq 0 ] && rm -f $lockfile - return $retval -} - -restart() { - stop - start -} - -reload() { - restart -} - -force_reload() { - restart -} - -rh_status() { - status $prog -} - -rh_status_q() { - rh_status &>/dev/null -} - - -case "$1" in - start) - rh_status_q && exit 0 - $1 - ;; - stop) - rh_status_q || exit 0 - $1 - ;; - restart) - $1 - ;; - reload) - rh_status_q || exit 7 - $1 - ;; - force-reload) - force_reload - ;; - status) - rh_status - ;; - condrestart|try-restart) - rh_status_q || exit 0 - restart - ;; - *) - echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" - exit 2 -esac -exit $? diff --git a/glusterfs.spec b/glusterfs.spec index 19cfe4a..783108b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -4,7 +4,7 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the %%dev for pre-releases -%global prereltag rc0 +# %%global prereltag rc0 ##----------------------------------------------------------------------------- ## All package definitions should be placed here in alphabetical order @@ -201,7 +201,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.0 -Release: 0.3%{?prereltag:%{prereltag}}%{?dist} +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1623,6 +1623,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Nov 2 2021 Kaleb S. KEITHLEY - 10.0-1 +- 10.0 GA + * Fri Oct 29 2021 Kaleb S. KEITHLEY - 10.0-0.3rc0 - 10.0 RC0, without_tcmalloc, rhbz#2018439 diff --git a/sources b/sources index 3290704..3c5f833 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-10.0rc0.tar.gz) = 2c37333a8b9622636be981499ebd0650483c26ee0ef0473dfa10a35681b9c519be88b7684d90812e3816be2429abfbbd4fd619c0a1999dbb680286c2c27709e5 +SHA512 (glusterfs-10.0.tar.gz) = 5a9d292461fc8a0c61767b80d1013cdb104706fd564033aac23e87d68d56686df2e9c38a8890a6a50db0afe6a54cf57e05fe8e5a8883bc3157aa6c93e5aaa343 From 391116f33ace93580acde7bfbbee0428077065ca Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Sat, 15 Jan 2022 08:56:44 -0500 Subject: [PATCH 078/116] rebuild with gcc-12 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 783108b..22ac489 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -201,7 +201,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.0 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1623,6 +1623,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Sat Jan 15 2022 Kaleb S. KEITHLEY - 10.0-2 +- rebuild with gcc-12 + * Tue Nov 2 2021 Kaleb S. KEITHLEY - 10.0-1 - 10.0 GA From 1793958937c0046505d2c22623ba3951c8a1fc7f Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 19 Jan 2022 07:59:13 -0500 Subject: [PATCH 079/116] 10.1 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 22ac489..8d38e39 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -200,8 +200,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 10.0 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Version: 10.1 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1623,6 +1623,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jan 19 2022 Kaleb S. KEITHLEY - 10.1-1 +- 10.1 GA + * Sat Jan 15 2022 Kaleb S. KEITHLEY - 10.0-2 - rebuild with gcc-12 diff --git a/sources b/sources index 3c5f833..d138017 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-10.0.tar.gz) = 5a9d292461fc8a0c61767b80d1013cdb104706fd564033aac23e87d68d56686df2e9c38a8890a6a50db0afe6a54cf57e05fe8e5a8883bc3157aa6c93e5aaa343 +SHA512 (glusterfs-10.1.tar.gz) = 38bec8ae33128641b17c645733589c32d554ebb771bda50a11d35019e71654f3b75ca95d24d0c0d1ec4eb460edd99983e843a7218092d422d2185a227345de42 From faf97fd4e34c2fbbb3bdbfd2beb15e34dfd0ce63 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 06:24:24 +0000 Subject: [PATCH 080/116] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8d38e39..647f030 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -201,11 +201,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.1 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.10 +Release: 0.@PACKAGE_RELEASE@%{?dist}.11 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1623,6 +1623,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 10.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Tue Jan 19 2022 Kaleb S. KEITHLEY - 10.1-1 - 10.1 GA From d401b60136f4317f821a5d75976e7033d5811a21 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 26 Jan 2022 16:36:23 -0500 Subject: [PATCH 081/116] 10.1, w/ modern linker (mold) Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8d38e39..c1e76e8 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -201,7 +201,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.1 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -240,6 +240,9 @@ BuildRequires: libtsan %endif BuildRequires: bison flex BuildRequires: gcc make libtool +%ifarch x86_64 aarch64 +BuildRequires: mold +%endif BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel BuildRequires: libaio-devel libacl-devel @@ -1623,7 +1626,10 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog -* Tue Jan 19 2022 Kaleb S. KEITHLEY - 10.1-1 +* Wed Jan 26 2022 Kaleb S. KEITHLEY - 10.1-2 +- 10.1, w/ modern linker (mold) + +* Wed Jan 19 2022 Kaleb S. KEITHLEY - 10.1-1 - 10.1 GA * Sat Jan 15 2022 Kaleb S. KEITHLEY - 10.0-2 From 80373ba83a517bb98ba387e9262031bf540d5618 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 31 Jan 2022 11:13:08 -0500 Subject: [PATCH 082/116] 10.1, w/ modern linker, this time for real Signed-off-by: Kaleb S. KEITHLEY --- 0001-configure.ac.patch | 11 +++++++++++ glusterfs.spec | 14 +++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 0001-configure.ac.patch diff --git a/0001-configure.ac.patch b/0001-configure.ac.patch new file mode 100644 index 0000000..854e3fb --- /dev/null +++ b/0001-configure.ac.patch @@ -0,0 +1,11 @@ +--- glusterfs-10.1/configure.ac.orig 2022-01-27 11:44:31.235010060 -0500 ++++ glusterfs-10.1/configure.ac 2022-01-27 11:46:36.601774148 -0500 +@@ -1280,7 +1280,7 @@ + AC_SUBST(GF_DISTRIBUTION) + + GF_HOST_OS="" +-GF_LDFLAGS="${GF_LDFLAGS} -rdynamic" ++GF_LDFLAGS="${GF_LDFLAGS} -rdynamic -fuse-ld=mold" + + dnl see --with-libtirpc option check above, libtirpc(-devel) is required for + dnl ipv6-default diff --git a/glusterfs.spec b/glusterfs.spec index dd25de2..e09865d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -201,7 +201,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.1 -Release: 3%{?prereltag:%{prereltag}}%{?dist} +Release: 4%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -218,6 +218,7 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif +Patch0001: 0001-configure.ac.patch Requires(pre): shadow-utils BuildRequires: systemd @@ -819,6 +820,9 @@ This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?prereltag} +%ifarch x86_64 aarch64 +%patch0001 -p1 +%endif %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -852,6 +856,11 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_libtirpc} \ %{?_without_tcmalloc} +# remove option mold doesn't recognize +for file in $(find . -type f -name Makefile -print); do +sed -i -e 's/-Wl,-dT.*$//' $file +done + # fix hardening and remove rpath in shlibs %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool @@ -1626,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Mon Jan 31 2022 Kaleb S. KEITHLEY - 10.1-4 +- 10.1, w/ modern linker, this time for real + * Wed Jan 26 2022 Kaleb S. KEITHLEY - 10.1-3 - 10.1, w/ modern linker (mold) From fd742dbb76206f3e6219db1bea49173557f98331 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 13 May 2022 07:47:12 -0400 Subject: [PATCH 083/116] 10.2 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 9 ++++++--- sources | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index e09865d..47f8143 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -200,8 +200,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 10.1 -Release: 4%{?prereltag:%{prereltag}}%{?dist} +Version: 10.2 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -245,7 +245,7 @@ BuildRequires: gcc make libtool BuildRequires: mold %endif BuildRequires: ncurses-devel readline-devel -BuildRequires: libxml2-devel openssl-devel +BuildRequires: libxml2-devel openssl-devel openssl BuildRequires: libaio-devel libacl-devel BuildRequires: python%{_pythonver}-devel %if 0%{!?_without_tcmalloc:1} @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Fri May 13 2022 Kaleb S. KEITHLEY - 10.2-1 +- 10.2 GA + * Mon Jan 31 2022 Kaleb S. KEITHLEY - 10.1-4 - 10.1, w/ modern linker, this time for real diff --git a/sources b/sources index d138017..e93a2da 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (glusterfs-10.1.tar.gz) = 38bec8ae33128641b17c645733589c32d554ebb771bda50a11d35019e71654f3b75ca95d24d0c0d1ec4eb460edd99983e843a7218092d422d2185a227345de42 +SHA512 (glusterfs-10.2.tar.gz) = 290c701fbd3f100096ef26b589ee0714449fc620c35e62bcb5fe2fe8de5f64963b40d7d5fe1b97b274ba791fa45f4175305b6a112f184f6ce11a1e0dc9f7ea30 From 79e015868c183adaaeb90cd062b02551f2aa00e2 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 13 May 2022 07:47:37 -0400 Subject: [PATCH 084/116] 10.2 GA Signed-off-by: Kaleb S. KEITHLEY --- sources | 1 - 1 file changed, 1 deletion(-) diff --git a/sources b/sources index e93a2da..13472c8 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (glusterfs-10.1.tar.gz) = 38bec8ae33128641b17c645733589c32d554ebb771bda50a11d35019e71654f3b75ca95d24d0c0d1ec4eb460edd99983e843a7218092d422d2185a227345de42 SHA512 (glusterfs-10.2.tar.gz) = 290c701fbd3f100096ef26b589ee0714449fc620c35e62bcb5fe2fe8de5f64963b40d7d5fe1b97b274ba791fa45f4175305b6a112f184f6ce11a1e0dc9f7ea30 From 3095ec1be861f76c6bb0230504e0fe7e97b6bada Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 21:14:06 +0200 Subject: [PATCH 085/116] Rebuilt for Python 3.11 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 47f8143..435bf10 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -201,11 +201,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.2 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.11 +Release: 0.@PACKAGE_RELEASE@%{?dist}.12 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Mon Jun 13 2022 Python Maint - 10.2-2 +- Rebuilt for Python 3.11 + * Fri May 13 2022 Kaleb S. KEITHLEY - 10.2-1 - 10.2 GA From 22aa83da5cc8ed2d5e33edf8ad47b837903e48d3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 21 Jul 2022 06:38:58 +0000 Subject: [PATCH 086/116] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 435bf10..ae0705c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -201,11 +201,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.2 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Release: 3%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.12 +Release: 0.@PACKAGE_RELEASE@%{?dist}.13 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Jul 21 2022 Fedora Release Engineering - 10.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Mon Jun 13 2022 Python Maint - 10.2-2 - Rebuilt for Python 3.11 From e2863d16368698f436354dada530b76c33ad7aee Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 20 Sep 2022 08:49:14 -0400 Subject: [PATCH 087/116] 10.3 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index ae0705c..f5f6ad1 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -200,8 +200,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 10.2 -Release: 3%{?prereltag:%{prereltag}}%{?dist} +Version: 10.3 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Sep 20 2022 Kaleb S. KEITHLEY - 10.3-1 +- 10.3 GA + * Thu Jul 21 2022 Fedora Release Engineering - 10.2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild diff --git a/sources b/sources index 13472c8..2e1918a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-10.2.tar.gz) = 290c701fbd3f100096ef26b589ee0714449fc620c35e62bcb5fe2fe8de5f64963b40d7d5fe1b97b274ba791fa45f4175305b6a112f184f6ce11a1e0dc9f7ea30 +SHA512 (glusterfs-10.3.tar.gz) = af7c8a15db48196a5f7022e4da87ae8d8d43a12c8968b242f40fb43ea562d1d214e75b3a67800f8594c97847e15c01367b6d464964252551d6f8d3e93fb0f832 From 3526946a413da5ffdb700c6f040feeb353d5003c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Moulins?= Date: Mon, 3 Oct 2022 19:44:38 +0200 Subject: [PATCH 088/116] bash-completion: use bash_completions_dir macro Install the completion script with the `%{bash_completions_dir}` macro. By default, it will be `/usr/share/bash-completion/completions` from which the script will be dynamically sourced on use. --- glusterfs.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index f5f6ad1..6a9bf2b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -985,7 +985,7 @@ find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glus ## Install bash completion for cli install -p -m 0755 -D extras/command-completion/gluster.bash \ - %{buildroot}%{_sysconfdir}/bash_completion.d/gluster + %{buildroot}%{bash_completions_dir}/gluster ##----------------------------------------------------------------------------- ## All package definitions should be placed here in alphabetical order @@ -1292,7 +1292,7 @@ exit 0 %files cli %{_sbindir}/gluster %{_mandir}/man8/gluster.8* -%{_sysconfdir}/bash_completion.d/gluster +%{bash_completions_dir}/gluster %files client-xlators %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster From eb1c3d0d74d5f7563878011ff011e0fbe861c2f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Moulins?= Date: Mon, 3 Oct 2022 19:51:14 +0200 Subject: [PATCH 089/116] bash-completion: remove executable permission bash-completion scripts are sourced. --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 6a9bf2b..1560500 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -984,7 +984,7 @@ find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glus %endif ## Install bash completion for cli -install -p -m 0755 -D extras/command-completion/gluster.bash \ +install -p -m 0644 -D extras/command-completion/gluster.bash \ %{buildroot}%{bash_completions_dir}/gluster ##----------------------------------------------------------------------------- From da34ccc84bc6e800bece3d5b582aa97580117ab2 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 11 Nov 2022 11:36:03 -0500 Subject: [PATCH 090/116] SPDX migration Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 1560500..236c47b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -207,7 +207,7 @@ Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ Release: 0.@PACKAGE_RELEASE@%{?dist}.13 %endif -License: GPLv2 or LGPLv3+ +License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz @@ -728,7 +728,7 @@ regression testing of Gluster. %if ( 0%{!?_without_ocf:1} ) %package resource-agents Summary: OCF Resource Agents for GlusterFS -License: GPLv3+ +License: GPL-3.0-or-later BuildArch: noarch # for glusterd Requires: %{name}-server = %{version}-%{release} @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Fri Nov 11 2022 Kaleb S. KEITHLEY +- SPDX migration + * Tue Sep 20 2022 Kaleb S. KEITHLEY - 10.3-1 - 10.3 GA From 7a2b9c56211c2318740f9f714355b12a545c26dc Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 05:17:43 +0000 Subject: [PATCH 091/116] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 236c47b..aa7bdcd 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -201,11 +201,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 10.3 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.13 +Release: 0.@PACKAGE_RELEASE@%{?dist}.14 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 10.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Fri Nov 11 2022 Kaleb S. KEITHLEY - SPDX migration From 83291bffe3999dfb2bf12678177666942cca29ad Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 7 Feb 2023 08:58:40 -0500 Subject: [PATCH 092/116] glusterfs 11 GA Signed-off-by: Kaleb S. KEITHLEY --- 0001-configure.ac.patch | 8 ++-- glusterfs.spec | 100 +++++++++++++++++++--------------------- sources | 2 +- 3 files changed, 52 insertions(+), 58 deletions(-) diff --git a/0001-configure.ac.patch b/0001-configure.ac.patch index 854e3fb..67b2e73 100644 --- a/0001-configure.ac.patch +++ b/0001-configure.ac.patch @@ -1,7 +1,7 @@ ---- glusterfs-10.1/configure.ac.orig 2022-01-27 11:44:31.235010060 -0500 -+++ glusterfs-10.1/configure.ac 2022-01-27 11:46:36.601774148 -0500 -@@ -1280,7 +1280,7 @@ - AC_SUBST(GF_DISTRIBUTION) +--- glusterfs-11.0/configure.ac.orig 2023-02-07 08:27:06.663310072 -0500 ++++ glusterfs-11.0/configure.ac 2023-02-07 08:27:56.012452316 -0500 +@@ -1319,7 +1319,7 @@ + fi GF_HOST_OS="" -GF_LDFLAGS="${GF_LDFLAGS} -rdynamic" diff --git a/glusterfs.spec b/glusterfs.spec index aa7bdcd..52d3c1c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -56,14 +56,9 @@ # linux-io_uring # If you wish to compile an rpm without linux-io_uring support... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --disable-linux-io_uring +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without-linux-io_uring %{?_without_linux_io_uring:%global _without_linux_io_uring --disable-linux-io_uring} -# Disable linux-io_uring on unsupported distros. -%if ( 0%{?fedora} && 0%{?fedora} <= 32 ) || ( 0%{?rhel} && 0%{?rhel} <= 7 ) -%global _without_linux_io_uring --disable-linux-io_uring -%endif - # libtirpc # if you wish to compile an rpm without TIRPC (i.e. use legacy glibc rpc) # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without libtirpc @@ -78,7 +73,7 @@ # libtcmalloc # if you wish to compile an rpm without tcmalloc (i.e. use gluster mempool) # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without tcmalloc -%{?_without_tcmalloc:%global _without_libtcmalloc --without-tcmalloc} +%{?_without_tcmalloc:%global _without_tcmalloc --without-tcmalloc} %ifnarch x86_64 %global _without_tcmalloc --without-tcmalloc @@ -200,12 +195,12 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 10.3 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Version: 11.0 +Release: 0%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.14 +Release: 0.@PACKAGE_RELEASE@%{?dist}.13 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -309,8 +304,14 @@ and client framework. %package cli Summary: GlusterFS CLI +%if ( ! (0%{?rhel} && 0%{?rhel} < 7) ) +BuildRequires: pkgconfig(bash-completion) +# bash-completion >= 1.90 satisfies this requirement. +# If it is not available, the condition can be adapted +# and the completion script will be installed in the backwards compatible +# %{sysconfdir}/bash_completion.d +%endif Requires: libglusterfs0%{?_isa} = %{version}-%{release} -Requires: libglusterd0%{?_isa} = %{version}-%{release} %description cli GlusterFS is a distributed file-system capable of scaling to several @@ -521,6 +522,8 @@ Requires: libgfrpc0%{?_isa} = %{version}-%{release} Requires: libgfxdr0%{?_isa} = %{version}-%{release} Obsoletes: %{name}-libs <= %{version}-%{release} Provides: %{name}-libs = %{version}-%{release} +Obsoletes: libglusterd0 = %{version}-%{release} +Provides: libglusterd0 = %{version}-%{release} %description -n libglusterfs0 GlusterFS is a distributed file-system capable of scaling to several @@ -673,21 +676,6 @@ Much of the code in GlusterFS is in user space and easily manageable. This package provides libgfxdr.so. -%package -n libglusterd0 -Summary: GlusterFS libglusterd library -Requires: libglusterfs0%{?_isa} = %{version}-%{release} -Obsoletes: %{name}-libs <= %{version}-%{release} - -%description -n libglusterd0 -GlusterFS is a distributed file-system capable of scaling to several -petabytes. It aggregates various storage bricks over TCP/IP interconnect -into one large parallel network filesystem. GlusterFS is one of the -most sophisticated file systems in terms of features and extensibility. -It borrows a powerful concept called Translators from GNU Hurd kernel. -Much of the code in GlusterFS is in user space and easily manageable. - -This package provides the libglusterd library - %package -n python%{_pythonver}-gluster Summary: GlusterFS python library Requires: python%{_pythonver} @@ -983,9 +971,10 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs %endif -## Install bash completion for cli -install -p -m 0644 -D extras/command-completion/gluster.bash \ - %{buildroot}%{bash_completions_dir}/gluster +%global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null) +%if "%{bashcompdir}" == "" +%global bashcompdir ${sysconfdir}/bash_completion.d +%endif ##----------------------------------------------------------------------------- ## All package definitions should be placed here in alphabetical order @@ -1021,7 +1010,10 @@ exit 0 %if ( 0%{!?_without_server:1} ) %if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %post ganesha -semanage boolean -m ganesha_use_fusefs --on +# first install +if [ $1 -eq 1 ]; then + %selinux_set_booleans ganesha_use_fusefs=1 +fi exit 0 %endif %endif @@ -1029,7 +1021,9 @@ exit 0 %if ( 0%{!?_without_georeplication:1} ) %post geo-replication %if ( 0%{?rhel} && 0%{?rhel} >= 8 ) -%selinux_set_booleans %{selinuxbooleans} +if [ $1 -eq 1 ]; then + %selinux_set_booleans %{selinuxbooleans} +fi %endif if [ $1 -ge 1 ]; then %systemd_postun_with_restart glusterd @@ -1189,29 +1183,32 @@ exit 0 %if ( 0%{!?_without_server:1} ) %if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %postun ganesha -semanage boolean -m ganesha_use_fusefs --off +if [ $1 -eq 0 ]; then + # use the value of ganesha_use_fusefs from before glusterfs-ganesha was installed + %selinux_unset_booleans ganesha_use_fusefs=1 +fi +exit 0 +%endif +%endif + +%if ( 0%{!?_without_georeplication:1} ) +%postun geo-replication +%if ( 0%{?rhel} && 0%{?rhel} >= 8 ) +if [ $1 -eq 0 ]; then + %selinux_unset_booleans %{selinuxbooleans} +fi exit 0 %endif %endif ##----------------------------------------------------------------------------- -## All package definitions should be placed here in alphabetical order -## -%if ( 0%{!?_without_server:1} ) -%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) -%trigger ganesha -- selinux-policy-targeted -semanage boolean -m ganesha_use_fusefs --on -exit 0 -%endif -%endif - -##----------------------------------------------------------------------------- -## All package definitions should be placed here in alphabetical order +## All trriggerun should be placed here in alphabetical order ## %if ( 0%{!?_without_server:1} ) %if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) +# ensure ganesha_use_fusefs is on in case of policy mode switch (eg. mls->targeted) %triggerun ganesha -- selinux-policy-targeted -semanage boolean -m ganesha_use_fusefs --off +semanage boolean -m ganesha_use_fusefs --on -S targeted exit 0 %endif %endif @@ -1278,7 +1275,7 @@ exit 0 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system/posix-acl.so %dir %attr(0775,gluster,gluster) %{_rundir}/gluster %dir %attr(0775,gluster,gluster) %{_rundir}/gluster/metrics -%if 0%{?_tmpfilesdir:1} && 0%{!?_without_server:1} +%if 0%{?_tmpfilesdir:1} %{_tmpfilesdir}/gluster.conf %endif @@ -1292,7 +1289,7 @@ exit 0 %files cli %{_sbindir}/gluster %{_mandir}/man8/gluster.8* -%{bash_completions_dir}/gluster +%{bash_completions_dir}/gluster.bash %files client-xlators %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster @@ -1443,10 +1440,6 @@ exit 0 %files -n libgfxdr0 %{_libdir}/libgfxdr.so.* -%files -n libglusterd0 -%{_libdir}/libglusterd.so.* -%exclude %{_libdir}/libglusterd.so - %files -n python%{_pythonver}-gluster # introducing glusterfs module in site packages. # so that all other gluster submodules can reside in the same namespace. @@ -1522,6 +1515,7 @@ exit 0 %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so + %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/simple-quota.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/selinux.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so @@ -1635,8 +1629,8 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog -* Thu Jan 19 2023 Fedora Release Engineering - 10.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild +* Tue Feb 7 2023 Kaleb S. KEITHLEY - 11.0-1 +- glusterfs 11 GA * Fri Nov 11 2022 Kaleb S. KEITHLEY - SPDX migration diff --git a/sources b/sources index 2e1918a..a683c39 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-10.3.tar.gz) = af7c8a15db48196a5f7022e4da87ae8d8d43a12c8968b242f40fb43ea562d1d214e75b3a67800f8594c97847e15c01367b6d464964252551d6f8d3e93fb0f832 +SHA512 (glusterfs-11.0.tar.gz) = 075f0025a1892ebb28d45d0a4e8971656319582dd7bc2c8b19ea26cd08a789bb54f8bc9752839706cd0ee0ca54be74245230bc453a5d1e9e163af84f08937e69 From 42e2ce2602a7651e323831a3cd095ec441f0f7df Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 10 Feb 2023 15:38:23 -0800 Subject: [PATCH 093/116] Fix a mistake in the libglusterd0 obsolete --- glusterfs.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 52d3c1c..96b3246 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,7 +196,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.0 -Release: 0%{?prereltag:%{prereltag}}%{?dist} +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -522,7 +522,7 @@ Requires: libgfrpc0%{?_isa} = %{version}-%{release} Requires: libgfxdr0%{?_isa} = %{version}-%{release} Obsoletes: %{name}-libs <= %{version}-%{release} Provides: %{name}-libs = %{version}-%{release} -Obsoletes: libglusterd0 = %{version}-%{release} +Obsoletes: libglusterd0 <= %{version}-%{release} Provides: libglusterd0 = %{version}-%{release} %description -n libglusterfs0 @@ -1629,7 +1629,10 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog -* Tue Feb 7 2023 Kaleb S. KEITHLEY - 11.0-1 +* Fri Feb 10 2023 Adam Williamson - 11.0-1 +- Fix a mistake in the libglusterd0 obsolete + +* Tue Feb 7 2023 Kaleb S. KEITHLEY - 11.0-0 - glusterfs 11 GA * Fri Nov 11 2022 Kaleb S. KEITHLEY From ff98697d2e8566662e5e100b8ab81699e1dd7b0a Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 4 May 2023 08:29:45 -0400 Subject: [PATCH 094/116] glusterfs 11, remove unnecessary BR for ldconfig, i.e. glibc, also rhbz#1731689 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 96b3246..ebb630a 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,7 +196,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.0 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -226,8 +226,6 @@ Requires: libglusterfs0%{?_isa} = %{version}-%{release} Requires: libgfrpc0%{?_isa} = %{version}-%{release} Requires: libgfxdr0%{?_isa} = %{version}-%{release} %{?systemd_requires} -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig %if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: libasan %endif @@ -516,8 +514,6 @@ This package provides the glusterfs legacy gNFS server xlator %package -n libglusterfs0 Summary: GlusterFS libglusterfs library -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig Requires: libgfrpc0%{?_isa} = %{version}-%{release} Requires: libgfxdr0%{?_isa} = %{version}-%{release} Obsoletes: %{name}-libs <= %{version}-%{release} @@ -755,8 +751,6 @@ Requires: %{name}-client-xlators = %{version}-%{release} Requires: psmisc Requires: lvm2 %{?systemd_requires} -Requires(post): /sbin/ldconfig -Requires(postun): /sbin/ldconfig %if (0%{?_with_firewalld:1}) # we install firewalld rules, so we need to have the directory owned %if ( 0%{!?rhel} ) @@ -1629,6 +1623,10 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu May 4 2023 Kaleb S. KEITHLEY - 11.0-2 +- glusterfs 11, remove unnecessary BR for ldconfig, i.e. glibc, also + rhbz#1731689 + * Fri Feb 10 2023 Adam Williamson - 11.0-1 - Fix a mistake in the libglusterd0 obsolete From 682b0277835cf4f243c4d01745d5fc8eb6da0bfd Mon Sep 17 00:00:00 2001 From: Python Maint Date: Thu, 15 Jun 2023 18:54:50 +0200 Subject: [PATCH 095/116] Rebuilt for Python 3.12 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index ebb630a..f68b0b5 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.0 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Release: 3%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.13 +Release: 0.@PACKAGE_RELEASE@%{?dist}.14 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1623,6 +1623,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Jun 15 2023 Python Maint - 11.0-3 +- Rebuilt for Python 3.12 + * Thu May 4 2023 Kaleb S. KEITHLEY - 11.0-2 - glusterfs 11, remove unnecessary BR for ldconfig, i.e. glibc, also rhbz#1731689 From 0582b110e0d4f8e59ca8da8c50a66b2ad2ef7fe8 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 16 Jun 2023 11:34:32 -0400 Subject: [PATCH 096/116] Rebuilt for Python 3.12 Signed-off-by: Kaleb S. KEITHLEY --- 0002-contrib-aclocal-python.m4.patch | 212 +++++++++++++++++++++++++++ glusterfs.spec | 4 +- 2 files changed, 215 insertions(+), 1 deletion(-) create mode 100644 0002-contrib-aclocal-python.m4.patch diff --git a/0002-contrib-aclocal-python.m4.patch b/0002-contrib-aclocal-python.m4.patch new file mode 100644 index 0000000..0772c87 --- /dev/null +++ b/0002-contrib-aclocal-python.m4.patch @@ -0,0 +1,212 @@ +--- glusterfs-11.0/contrib/aclocal/python.m4.orig 2023-06-16 11:18:03.550994174 -0400 ++++ glusterfs-11.0/contrib/aclocal/python.m4 2023-06-16 11:18:47.875238947 -0400 +@@ -1,209 +1 @@ +-## ------------------------ -*- Autoconf -*- +-## Python file handling +-## From Andrew Dalke +-## Updated by James Henstridge + ## ------------------------ +-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009 +-# Free Software Foundation, Inc. +-# +-# This file is free software; the Free Software Foundation +-# gives unlimited permission to copy and/or distribute it, +-# with or without modifications, as long as this notice is preserved. +- +-# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +-# --------------------------------------------------------------------------- +-# Adds support for distributing Python modules and packages. To +-# install modules, copy them to $(pythondir), using the python_PYTHON +-# automake variable. To install a package with the same name as the +-# automake package, install to $(pkgpythondir), or use the +-# pkgpython_PYTHON automake variable. +-# +-# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as +-# locations to install python extension modules (shared libraries). +-# Another macro is required to find the appropriate flags to compile +-# extension modules. +-# +-# If your package is configured with a different prefix to python, +-# users will have to add the install directory to the PYTHONPATH +-# environment variable, or create a .pth file (see the python +-# documentation for details). +-# +-# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will +-# cause an error if the version of python installed on the system +-# doesn't meet the requirement. MINIMUM-VERSION should consist of +-# numbers and dots only. +-AC_DEFUN([AM_PATH_PYTHON], +- [ +- dnl Find a Python interpreter. Python versions prior to 2.0 are not +- dnl supported. (2.0 was released on October 16, 2000). +- m4_define_default([_AM_PYTHON_INTERPRETER_LIST], +- [python python2 python3 python3.2 python3.1 python3.0 python2.7 python2.6 python2.5 python2.4 python2.3 python2.2 dnl +-python2.1 python2.0]) +- +- m4_if([$1],[],[ +- dnl No version check is needed. +- # Find any Python interpreter. +- if test -z "$PYTHON"; then +- AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :) +- fi +- am_display_PYTHON=python +- ], [ +- dnl A version check is needed. +- if test -n "$PYTHON"; then +- # If the user set $PYTHON, use it and don't search something else. +- AC_MSG_CHECKING([whether $PYTHON version >= $1]) +- AM_PYTHON_CHECK_VERSION([$PYTHON], [$1], +- [AC_MSG_RESULT(yes)], +- [AC_MSG_ERROR(too old)]) +- am_display_PYTHON=$PYTHON +- else +- # Otherwise, try each interpreter until we find one that satisfies +- # VERSION. +- AC_CACHE_CHECK([for a Python interpreter with version >= $1], +- [am_cv_pathless_PYTHON],[ +- for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do +- test "$am_cv_pathless_PYTHON" = none && break +- AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break]) +- done]) +- # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON. +- if test "$am_cv_pathless_PYTHON" = none; then +- PYTHON=: +- else +- AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON]) +- fi +- am_display_PYTHON=$am_cv_pathless_PYTHON +- fi +- ]) +- +- if test "$PYTHON" = :; then +- dnl Run any user-specified action, or abort. +- m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])]) +- else +- +- dnl Query Python for its version number. Getting [:3] seems to be +- dnl the best way to do this; it's what "site.py" does in the standard +- dnl library. +- +- AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], +- [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`]) +- AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) +- +- dnl Use the values of $prefix and $exec_prefix for the corresponding +- dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made +- dnl distinct variables so they can be overridden if need be. However, +- dnl general consensus is that you shouldn't need this ability. +- +- AC_SUBST([PYTHON_PREFIX], ['${prefix}']) +- AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) +- +- dnl At times (like when building shared libraries) you may want +- dnl to know which OS platform Python thinks this is. +- +- AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], +- [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`]) +- AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) +- +- +- dnl Set up 4 directories: +- +- dnl pythondir -- where to install python scripts. This is the +- dnl site-packages directory, not the python standard library +- dnl directory like in previous automake betas. This behavior +- dnl is more consistent with lispdir.m4 for example. +- dnl Query distutils for this directory. distutils does not exist in +- dnl Python 1.5, so we fall back to the hardcoded directory if it +- dnl doesn't work. +- AC_CACHE_CHECK([for $am_display_PYTHON script directory], +- [am_cv_python_pythondir], +- [if test "x$prefix" = xNONE +- then +- am_py_prefix=$ac_default_prefix +- else +- am_py_prefix=$prefix +- fi +- am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null || +- echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"` +- case $am_cv_python_pythondir in +- $am_py_prefix*) +- am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'` +- am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"` +- ;; +- *) +- case $am_py_prefix in +- /usr|/System*) ;; +- *) +- am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages +- ;; +- esac +- ;; +- esac +- ]) +- AC_SUBST([pythondir], [$am_cv_python_pythondir]) +- +- dnl pkgpythondir -- $PACKAGE directory under pythondir. Was +- dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is +- dnl more consistent with the rest of automake. +- +- AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) +- +- dnl pyexecdir -- directory for installing python extension modules +- dnl (shared libraries) +- dnl Query distutils for this directory. distutils does not exist in +- dnl Python 1.5, so we fall back to the hardcoded directory if it +- dnl doesn't work. +- AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], +- [am_cv_python_pyexecdir], +- [if test "x$exec_prefix" = xNONE +- then +- am_py_exec_prefix=$am_py_prefix +- else +- am_py_exec_prefix=$exec_prefix +- fi +- am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null || +- echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"` +- case $am_cv_python_pyexecdir in +- $am_py_exec_prefix*) +- am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'` +- am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"` +- ;; +- *) +- case $am_py_exec_prefix in +- /usr|/System*) ;; +- *) +- am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages +- ;; +- esac +- ;; +- esac +- ]) +- AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) +- +- dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) +- +- AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) +- +- dnl Run any user-specified action. +- $2 +- fi +- +-]) +- +- +-# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +-# --------------------------------------------------------------------------- +-# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION. +-# Run ACTION-IF-FALSE otherwise. +-# This test uses sys.hexversion instead of the string equivalent (first +-# word of sys.version), in order to cope with versions such as 2.2c1. +-# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000). +-AC_DEFUN([AM_PYTHON_CHECK_VERSION], +- [prog="import sys +-# split strings by '.' and convert to numeric. Append some zeros +-# because we need at least 4 digits for the hex conversion. +-# map returns an iterator in Python 3.0 and a list in 2.x +-minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]] +-minverhex = 0 +-# xrange is not present in Python 3.0 and range returns an iterator +-for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]] +-sys.exit(sys.hexversion < minverhex)" +- AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])]) diff --git a/glusterfs.spec b/glusterfs.spec index f68b0b5..faf2150 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -214,6 +214,7 @@ Source8: glusterfsd.init Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif Patch0001: 0001-configure.ac.patch +Patch0002: 0002-contrib-aclocal-python.m4.patch Requires(pre): shadow-utils BuildRequires: systemd @@ -803,7 +804,8 @@ This package provides the glusterfs thin-arbiter translator. %prep %setup -q -n %{name}-%{version}%{?prereltag} %ifarch x86_64 aarch64 -%patch0001 -p1 +%patch 0001 -p1 +%patch 0002 -p1 %endif %if ( ! %{_usepython3} ) echo "fixing python shebangs..." From b084205cb3487081882089263bd5f55f94c5e5e1 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 16 Jun 2023 11:54:52 -0400 Subject: [PATCH 097/116] Rebuilt for Python 3.12 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index faf2150..4bdeeb0 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -805,8 +805,8 @@ This package provides the glusterfs thin-arbiter translator. %setup -q -n %{name}-%{version}%{?prereltag} %ifarch x86_64 aarch64 %patch 0001 -p1 -%patch 0002 -p1 %endif +%patch 0002 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do From ec3e9277a322dfcde60764fd98370654a1c8cdf8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 23:25:27 +0000 Subject: [PATCH 098/116] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 4bdeeb0..001daba 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.0 -Release: 3%{?prereltag:%{prereltag}}%{?dist} +Release: 4%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.14 +Release: 0.@PACKAGE_RELEASE@%{?dist}.15 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1625,6 +1625,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 11.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jun 15 2023 Python Maint - 11.0-3 - Rebuilt for Python 3.12 From b9a2e4c9cfd82d6de1dccf141709a735a3d12180 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 22 Aug 2023 13:05:54 -0400 Subject: [PATCH 099/116] glusterfs 11, /usr/lib/ocf/resource-agents.d -> resource-agents rhbz#2229910 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 001daba..2605950 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,7 +196,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.0 -Release: 4%{?prereltag:%{prereltag}}%{?dist} +Release: 5%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -718,7 +718,7 @@ BuildArch: noarch # for glusterd Requires: %{name}-server = %{version}-%{release} # depending on the distribution, we need pacemaker or resource-agents -Requires: %{_prefix}/lib/ocf/resource.d +Requires: resource-agents %description resource-agents GlusterFS is a distributed file-system capable of scaling to several @@ -1625,6 +1625,10 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Aug 22 2023 Kaleb S. KEITHLEY - 11.0-5 +- glusterfs 11, /usr/lib/ocf/resource-agents.d -> resource-agents + rhbz#2229910 + * Wed Jul 19 2023 Fedora Release Engineering - 11.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 4b286a508f09f01b50829be06dc4bd580f19e5bf Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 5 Oct 2023 12:52:49 -0400 Subject: [PATCH 100/116] glusterfs 11, build in side tag f40-build-side-74974 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 2605950..c7740f0 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,7 +196,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.0 -Release: 5%{?prereltag:%{prereltag}}%{?dist} +Release: 6%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1625,6 +1625,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Oct 5 2023 Kaleb S. KEITHLEY - 11.0-6 +- glusterfs 11, build in side tag f40-build-side-74974 + * Tue Aug 22 2023 Kaleb S. KEITHLEY - 11.0-5 - glusterfs 11, /usr/lib/ocf/resource-agents.d -> resource-agents rhbz#2229910 From 15d0720b6c7cc13a3341f27c9aa96edd7a4b7006 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 6 Nov 2023 13:16:55 -0500 Subject: [PATCH 101/116] glusterfs 11.1 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index c7740f0..4165b56 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -195,8 +195,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 11.0 -Release: 6%{?prereltag:%{prereltag}}%{?dist} +Version: 11.1 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1625,6 +1625,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Mon Nov 6 2023 Kaleb S. KEITHLEY - 11.1-0 +- glusterfs 11.1 GA + * Thu Oct 5 2023 Kaleb S. KEITHLEY - 11.0-6 - glusterfs 11, build in side tag f40-build-side-74974 diff --git a/sources b/sources index a683c39..4457fa4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-11.0.tar.gz) = 075f0025a1892ebb28d45d0a4e8971656319582dd7bc2c8b19ea26cd08a789bb54f8bc9752839706cd0ee0ca54be74245230bc453a5d1e9e163af84f08937e69 +SHA512 (glusterfs-11.1.tar.gz) = a021a612b01c2c43858b092db926e6d229f0f736c19b8a1015c0d3121fbc7739ab5273384d5e96fde6dbf4eaf620bc32a0530597e80483865d8ca79b820ed3b0 From a950cb4a3de9b939ea810c4caca02b5711ae0ee1 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 19 Jan 2024 11:16:46 -0500 Subject: [PATCH 102/116] rebuild with gcc-14 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 4165b56..e23c016 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,7 +196,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1625,7 +1625,10 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog -* Mon Nov 6 2023 Kaleb S. KEITHLEY - 11.1-0 +* Fri Jan 19 2024 Kaleb S. KEITHLEY - 11.1-2 +- rebuild with gcc-14 + +* Mon Nov 6 2023 Kaleb S. KEITHLEY - 11.1-1 - glusterfs 11.1 GA * Thu Oct 5 2023 Kaleb S. KEITHLEY - 11.0-6 From 49171be524f7ead29d272ec34ca7cc1980c39d9e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 15:18:52 +0000 Subject: [PATCH 103/116] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index e23c016..e51e77f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Release: 3%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.15 +Release: 0.@PACKAGE_RELEASE@%{?dist}.16 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1625,6 +1625,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Jan 24 2024 Fedora Release Engineering - 11.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Kaleb S. KEITHLEY - 11.1-2 - rebuild with gcc-14 From ce098d50ee2a86d1ee0794e3262f3596ed6d6c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 14 Apr 2024 14:11:50 +0200 Subject: [PATCH 104/116] Add compat sbin Provides In preparation for https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin. libvirt-daemon-driver-storage-gluster requires /usr/sbin/gluster. --- glusterfs.spec | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/glusterfs.spec b/glusterfs.spec index e51e77f..39dd2bc 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -312,6 +312,13 @@ BuildRequires: pkgconfig(bash-completion) %endif Requires: libglusterfs0%{?_isa} = %{version}-%{release} +%if "%{_sbindir}" == "%{_bindir}" +# Compat symlinks for Requires in other packages. +# We rely on filesystem to create the symlinks for us. +Requires: filesystem(unmerged-sbin-symlinks) +Provides: /usr/sbin/gluster +%endif + %description cli GlusterFS is a distributed file-system capable of scaling to several petabytes. It aggregates various storage bricks over TCP/IP interconnect From 56c87a0f0dfe0cfff31a19cdbfa9d8cd2968275c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 18 Apr 2024 18:47:29 +0200 Subject: [PATCH 105/116] Move installed files to %{_sbindir} This implements https://pagure.io/packaging-committee/pull-request/1355, i.e. changes the file path known to rpm to the actual location on disk. --- glusterfs.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 39dd2bc..390946c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -974,6 +974,9 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs %endif +# Fix installation paths +mv -v %{buildroot}/sbin/* %{buildroot}%{_sbindir}/ + %global bashcompdir %(pkg-config --variable=completionsdir bash-completion 2>/dev/null) %if "%{bashcompdir}" == "" %global bashcompdir ${sysconfdir}/bash_completion.d @@ -1361,7 +1364,7 @@ exit 0 %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse.so -/sbin/mount.glusterfs +%{_sbindir}/mount.glusterfs %if ( 0%{!?_without_fusermount:1} ) %{_bindir}/fusermount-glusterfs %endif From 7b20f7a7b6a04be682ac72b128efd587b1c518c7 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 22:23:55 +0200 Subject: [PATCH 106/116] Rebuilt for Python 3.13 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 390946c..56293a6 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 3%{?prereltag:%{prereltag}}%{?dist} +Release: 4%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.16 +Release: 0.@PACKAGE_RELEASE@%{?dist}.17 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Fri Jun 07 2024 Python Maint - 11.1-4 +- Rebuilt for Python 3.13 + * Wed Jan 24 2024 Fedora Release Engineering - 11.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 267721b2de03b7d3abd1455b5c35e7a9b771d442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 9 Jul 2024 13:15:48 +0200 Subject: [PATCH 107/116] Rebuilt for the bin-sbin merge https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 56293a6..f686d66 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 4%{?prereltag:%{prereltag}}%{?dist} +Release: 5%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.17 +Release: 0.@PACKAGE_RELEASE@%{?dist}.18 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 11.1-5 +- Rebuilt for the bin-sbin merge + * Fri Jun 07 2024 Python Maint - 11.1-4 - Rebuilt for Python 3.13 From a6cf2b2e3a013874feed9238341f8219929ca86b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 18 Jul 2024 02:48:16 +0000 Subject: [PATCH 108/116] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index f686d66..14821af 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 5%{?prereltag:%{prereltag}}%{?dist} +Release: 6%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.18 +Release: 0.@PACKAGE_RELEASE@%{?dist}.19 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Jul 18 2024 Fedora Release Engineering - 11.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 11.1-5 - Rebuilt for the bin-sbin merge From c1384a450ce334202b2b373fefd53afdc8373d3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 12 Jan 2025 14:29:11 +0100 Subject: [PATCH 109/116] Rebuilt for the bin-sbin merge (2nd attempt) https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 14821af..410e409 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 6%{?prereltag:%{prereltag}}%{?dist} +Release: 7%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.19 +Release: 0.@PACKAGE_RELEASE@%{?dist}.20 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 11.1-7 +- Rebuilt for the bin-sbin merge (2nd attempt) + * Thu Jul 18 2024 Fedora Release Engineering - 11.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 0a794949c8085f4dfbc82c8a1cd8e7af02e11dd6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 22:29:07 +0000 Subject: [PATCH 110/116] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 410e409..eb067eb 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 7%{?prereltag:%{prereltag}}%{?dist} +Release: 8%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.20 +Release: 0.@PACKAGE_RELEASE@%{?dist}.21 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1635,6 +1635,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 11.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 11.1-7 - Rebuilt for the bin-sbin merge (2nd attempt) From 9e2d1bd99ebdc249054903f14dea527f08093f6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 11 Feb 2025 15:35:18 +0100 Subject: [PATCH 111/116] Add sysusers.d config file to allow rpm to create users/groups automatically See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers. --- glusterfs.spec | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index eb067eb..8eb2cab 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 8%{?prereltag:%{prereltag}}%{?dist} +Release: 9%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.21 +Release: 0.@PACKAGE_RELEASE@%{?dist}.22 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -216,7 +216,6 @@ Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz Patch0001: 0001-configure.ac.patch Patch0002: 0002-contrib-aclocal-python.m4.patch -Requires(pre): shadow-utils BuildRequires: systemd %if 0%{!?_without_tcmalloc:1} @@ -821,6 +820,11 @@ find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \; done %endif +# Create a sysusers.d config file +cat >glusterfs.sysusers.conf < /dev/null || groupadd -r gluster -getent passwd gluster > /dev/null || useradd -r -g gluster -d %{_rundir}/gluster -s /sbin/nologin -c "GlusterFS daemons" gluster -exit 0 - ##----------------------------------------------------------------------------- ## All package definitions should be placed here in alphabetical order ## @@ -1291,6 +1293,7 @@ exit 0 %exclude %{_libexecdir}/ganesha/* %exclude %{_prefix}/lib/ocf/resource.d/heartbeat/* %endif +%{_sysusersdir}/glusterfs.conf %files cli %{_sbindir}/gluster @@ -1635,6 +1638,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 11.1-9 +- Add sysusers.d config file to allow rpm to create users/groups automatically + * Thu Jan 16 2025 Fedora Release Engineering - 11.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From e6d851487737d8785e0dcd5798bd3b0971ff7fbf Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 3 Jun 2025 14:29:07 +0200 Subject: [PATCH 112/116] Rebuilt for Python 3.14 --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8eb2cab..d2a00ea 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.1 -Release: 9%{?prereltag:%{prereltag}}%{?dist} +Release: 10%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.22 +Release: 0.@PACKAGE_RELEASE@%{?dist}.23 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1638,6 +1638,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Tue Jun 03 2025 Python Maint - 11.1-10 +- Rebuilt for Python 3.14 + * Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 11.1-9 - Add sysusers.d config file to allow rpm to create users/groups automatically From 08fdd39e4a470d4d64070f111fbd4c542d944dc2 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Thu, 3 Jul 2025 19:35:41 +0300 Subject: [PATCH 113/116] Update to 11.2 --- 0003-makefile-am-subdirs.patch | 126 +++++++++++++++++++++++++++++++++ glusterfs.spec | 13 +++- sources | 2 +- 3 files changed, 137 insertions(+), 4 deletions(-) create mode 100644 0003-makefile-am-subdirs.patch diff --git a/0003-makefile-am-subdirs.patch b/0003-makefile-am-subdirs.patch new file mode 100644 index 0000000..ae2e543 --- /dev/null +++ b/0003-makefile-am-subdirs.patch @@ -0,0 +1,126 @@ +diff -ruN glusterfs-11.2/api/examples/Makefile.am glusterfs-11.2-mod/api/examples/Makefile.am +--- glusterfs-11.2/api/examples/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/api/examples/Makefile.am 2025-07-02 12:31:15.002167956 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + # The bits needed for glfsxmp + EXTRA_PROGRAMS = glfsxmp + glfsxmp_SOURCES = glfsxmp.c +diff -ruN glusterfs-11.2/contrib/fuse-util/Makefile.am glusterfs-11.2-mod/contrib/fuse-util/Makefile.am +--- glusterfs-11.2/contrib/fuse-util/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/contrib/fuse-util/Makefile.am 2025-07-02 12:31:32.290546271 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + bin_PROGRAMS = fusermount-glusterfs + + fusermount_glusterfs_SOURCES = fusermount.c mount_util.c $(CONTRIBDIR)/fuse-lib/mount-common.c +diff -ruN glusterfs-11.2/libglusterfs/src/Makefile.am glusterfs-11.2-mod/libglusterfs/src/Makefile.am +--- glusterfs-11.2/libglusterfs/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/libglusterfs/src/Makefile.am 2025-07-02 12:26:47.776161392 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + noinst_PYTHON = generator.py gen-defaults.py $(top_srcdir)/events/eventskeygen.py + + libglusterfs_la_CFLAGS = $(GF_CFLAGS) $(GF_DARWIN_LIBGLUSTERFS_CFLAGS) \ +diff -ruN glusterfs-11.2/xlators/cluster/afr/src/Makefile.am glusterfs-11.2-mod/xlators/cluster/afr/src/Makefile.am +--- glusterfs-11.2/xlators/cluster/afr/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/cluster/afr/src/Makefile.am 2025-07-02 12:26:21.567940962 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + xlator_LTLIBRARIES = afr.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/cluster + +diff -ruN glusterfs-11.2/xlators/cluster/dht/src/Makefile.am glusterfs-11.2-mod/xlators/cluster/dht/src/Makefile.am +--- glusterfs-11.2/xlators/cluster/dht/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/cluster/dht/src/Makefile.am 2025-07-02 12:26:07.943843179 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + xlator_LTLIBRARIES = dht.la nufa.la switch.la + + AM_CFLAGS = -Wall $(GF_CFLAGS) +diff -ruN glusterfs-11.2/xlators/cluster/ec/src/Makefile.am glusterfs-11.2-mod/xlators/cluster/ec/src/Makefile.am +--- glusterfs-11.2/xlators/cluster/ec/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/cluster/ec/src/Makefile.am 2025-07-02 12:25:45.287655225 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + xlator_LTLIBRARIES = ec.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/cluster + +diff -ruN glusterfs-11.2/xlators/features/changelog/lib/src/Makefile.am glusterfs-11.2-mod/xlators/features/changelog/lib/src/Makefile.am +--- glusterfs-11.2/xlators/features/changelog/lib/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/features/changelog/lib/src/Makefile.am 2025-07-02 12:25:15.015401482 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + libgfchangelog_la_CFLAGS = -Wall $(GF_CFLAGS) $(GF_DARWIN_LIBGLUSTERFS_CFLAGS) \ + -DDATADIR=\"$(localstatedir)\" + +diff -ruN glusterfs-11.2/xlators/features/cloudsync/src/cloudsync-plugins/src/cloudsyncs3/src/Makefile.am glusterfs-11.2-mod/xlators/features/cloudsync/src/cloudsync-plugins/src/cloudsyncs3/src/Makefile.am +--- glusterfs-11.2/xlators/features/cloudsync/src/cloudsync-plugins/src/cloudsyncs3/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/features/cloudsync/src/cloudsync-plugins/src/cloudsyncs3/src/Makefile.am 2025-07-02 12:24:16.783001896 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + csp_LTLIBRARIES = cloudsyncs3.la + cspdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/cloudsync-plugins + +diff -ruN glusterfs-11.2/xlators/features/cloudsync/src/cloudsync-plugins/src/cvlt/src/Makefile.am glusterfs-11.2-mod/xlators/features/cloudsync/src/cloudsync-plugins/src/cvlt/src/Makefile.am +--- glusterfs-11.2/xlators/features/cloudsync/src/cloudsync-plugins/src/cvlt/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/features/cloudsync/src/cloudsync-plugins/src/cvlt/src/Makefile.am 2025-07-02 12:24:00.726984102 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + csp_LTLIBRARIES = cloudsynccvlt.la + cspdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/cloudsync-plugins + +diff -ruN glusterfs-11.2/xlators/features/cloudsync/src/Makefile.am glusterfs-11.2-mod/xlators/features/cloudsync/src/Makefile.am +--- glusterfs-11.2/xlators/features/cloudsync/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/features/cloudsync/src/Makefile.am 2025-07-02 12:24:45.054966491 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + SUBDIRS = cloudsync-plugins + + xlator_LTLIBRARIES = cloudsync.la +diff -ruN glusterfs-11.2/xlators/features/thin-arbiter/src/Makefile.am glusterfs-11.2-mod/xlators/features/thin-arbiter/src/Makefile.am +--- glusterfs-11.2/xlators/features/thin-arbiter/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/features/thin-arbiter/src/Makefile.am 2025-07-02 12:22:10.366019070 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + xlator_LTLIBRARIES = thin-arbiter.la + + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features +diff -ruN glusterfs-11.2/xlators/features/utime/src/Makefile.am glusterfs-11.2-mod/xlators/features/utime/src/Makefile.am +--- glusterfs-11.2/xlators/features/utime/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/features/utime/src/Makefile.am 2025-07-02 12:21:54.421923762 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + xlator_LTLIBRARIES = utime.la + xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features + +diff -ruN glusterfs-11.2/xlators/mgmt/glusterd/src/Makefile.am glusterfs-11.2-mod/xlators/mgmt/glusterd/src/Makefile.am +--- glusterfs-11.2/xlators/mgmt/glusterd/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/mgmt/glusterd/src/Makefile.am 2025-07-02 12:20:49.141466838 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + if WITH_SERVER + xlator_LTLIBRARIES = glusterd.la + endif +diff -ruN glusterfs-11.2/xlators/mount/fuse/src/Makefile.am glusterfs-11.2-mod/xlators/mount/fuse/src/Makefile.am +--- glusterfs-11.2/xlators/mount/fuse/src/Makefile.am 2025-06-10 16:27:14.000000000 +0300 ++++ glusterfs-11.2-mod/xlators/mount/fuse/src/Makefile.am 2025-07-02 12:19:50.029047303 +0300 +@@ -1,3 +1,5 @@ ++AUTOMAKE_OPTIONS = subdir-objects ++ + noinst_HEADERS_linux = $(CONTRIBDIR)/fuse-include/fuse_kernel.h\ + $(CONTRIBDIR)/fuse-include/mount_util.h\ + $(CONTRIBDIR)/fuse-lib/mount-gluster-compat.h diff --git a/glusterfs.spec b/glusterfs.spec index d2a00ea..c2f2718 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -195,8 +195,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 11.1 -Release: 10%{?prereltag:%{prereltag}}%{?dist} +Version: 11.2 +Release: 1%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -205,7 +205,7 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.23 License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) -Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz +Source0: http://github.com/gluster/glusterfs/archive/v%{version}%{?prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source7: glusterfsd.service @@ -215,6 +215,7 @@ Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif Patch0001: 0001-configure.ac.patch Patch0002: 0002-contrib-aclocal-python.m4.patch +Patch0003: 0003-makefile-am-subdirs.patch BuildRequires: systemd @@ -813,6 +814,7 @@ This package provides the glusterfs thin-arbiter translator. %patch 0001 -p1 %endif %patch 0002 -p1 +%patch 0003 -p1 %if ( ! %{_usepython3} ) echo "fixing python shebangs..." for f in api events extras geo-replication libglusterfs tools xlators; do @@ -831,6 +833,8 @@ EOF export CFLAGS="$(echo $CFLAGS) -DUATOMIC_NO_LINK_ERROR" %endif sed -i -e 's/--quiet//' configure.ac +echo "v%{version}-0" > VERSION +cat VERSION ./autogen.sh && %configure \ %{?_with_asan} \ %{?_with_cmocka} \ @@ -1638,6 +1642,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Jul 02 2025 Benson Muite - 11.2-1 +- Update to latest release + * Tue Jun 03 2025 Python Maint - 11.1-10 - Rebuilt for Python 3.14 diff --git a/sources b/sources index 4457fa4..167f189 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-11.1.tar.gz) = a021a612b01c2c43858b092db926e6d229f0f736c19b8a1015c0d3121fbc7739ab5273384d5e96fde6dbf4eaf620bc32a0530597e80483865d8ca79b820ed3b0 +SHA512 (glusterfs-11.2.tar.gz) = 6ac463047c5b1fee1d00ca9d6c16169762ed31c7d3b8dfb341bb8a90b83c15fdd9d48ebbe6cf79eee885f764cfa5391f4107837764c0a182eff1b51bede63d48 From 77fdb97a9312e1e43764688118eed2230db7e5cb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 22:36:04 +0000 Subject: [PATCH 114/116] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index c2f2718..3ec454b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.2 -Release: 1%{?prereltag:%{prereltag}}%{?dist} +Release: 2%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.23 +Release: 0.@PACKAGE_RELEASE@%{?dist}.24 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1642,6 +1642,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 11.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Wed Jul 02 2025 Benson Muite - 11.2-1 - Update to latest release From a40663631ba293dfa41952c0b175c225b44f2163 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 12:49:27 +0200 Subject: [PATCH 115/116] Rebuilt for Python 3.14.0rc2 bytecode --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 3ec454b..e0f4006 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.2 -Release: 2%{?prereltag:%{prereltag}}%{?dist} +Release: 3%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.24 +Release: 0.@PACKAGE_RELEASE@%{?dist}.25 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1642,6 +1642,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Fri Aug 15 2025 Python Maint - 11.2-3 +- Rebuilt for Python 3.14.0rc2 bytecode + * Wed Jul 23 2025 Fedora Release Engineering - 11.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 2bff6285efa0b6fde6f3402818a2c717c8019335 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 12:19:17 +0200 Subject: [PATCH 116/116] Rebuilt for Python 3.14.0rc3 bytecode --- glusterfs.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index e0f4006..c125810 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -196,11 +196,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 11.2 -Release: 3%{?prereltag:%{prereltag}}%{?dist} +Release: 4%{?prereltag:%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.25 +Release: 0.@PACKAGE_RELEASE@%{?dist}.26 %endif License: GPL-2.0-only OR LGPL-3.0-or-later URL: http://docs.gluster.org/ @@ -1642,6 +1642,9 @@ exit 0 %{_unitdir}/gluster-ta-volume.service %changelog +* Fri Sep 19 2025 Python Maint - 11.2-4 +- Rebuilt for Python 3.14.0rc3 bytecode + * Fri Aug 15 2025 Python Maint - 11.2-3 - Rebuilt for Python 3.14.0rc2 bytecode