From d042eba18261a4ff97cf7e55ecd3345ff48f78da Mon Sep 17 00:00:00 2001 From: Anoop C S Date: Fri, 25 Aug 2017 09:45:39 +0530 Subject: [PATCH 001/160] Add README from upstream --- README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1cab5c1 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +# Gluster + Gluster is a software defined distributed storage that can scale to several + petabytes. It provides interfaces for object, block and file storage. + +## Development + Contributions to gluster in the form of patches and new feature additions can + be made by following steps outlined at [Developers Guide](https://gluster.readthedocs.io/en/latest/Developer-guide/Developers-Index/#contributing-to-the-gluster-community). + +## Documentation + The Gluster documentation can be found at [Gluster Docs](http://gluster.readthedocs.io/en/latest). + +## Deployment + Quick instructions to build and install can be found in [INSTALL](INSTALL) file. + +## Maintainers + The list of Gluster maintainers is available in [MAINTAINERS](MAINTAINERS) file. + +## License + Gluster is dual licensed under [GPLV2](COPYING-GPLV2) and [LGPLV3+](COPYING-LGPLV3). + + Please visit the [Gluster Home Page](http://www.gluster.org/) to find out more about Gluster. From 60eece97e70d7c829596cb544b56c7fc07e11a57 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Sat, 2 Dec 2017 06:55:45 -0500 Subject: [PATCH 002/160] 3.13.0 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 26 ++++++++++++++++++++++---- sources | 2 +- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 45c4482..cc0ba49 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -17,6 +17,10 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with valgrind %{?_with_valgrind:%global _with_valgrind --enable-valgrind} +# if you wish to compile an rpm with IPv6 default... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with ipv6default +%{?_with_ipv6default:%global _with_ipv6default --with-ipv6default} + # if you wish to compile an rpm with cmocka unit testing... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with cmocka %{?_with_cmocka:%global _with_cmocka --enable-cmocka} @@ -175,8 +179,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 3.12.3 -Release: 1%{?prereltag:.%{prereltag}}%{?dist} +Version: 3.13.0 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -184,7 +188,7 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.5 %endif License: GPLv2 or LGPLv3+ Group: System Environment/Base -URL: http://gluster.readthedocs.io/en/latest/ +URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) Source0: http://bits.gluster.org/pub/gluster/%{name}/src/%{name}-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig @@ -219,6 +223,9 @@ BuildRequires: python2-devel %if ( 0%{?rhel} && 0%{?rhel} <= 7 ) BuildRequires: python-ctypes %endif +%if ( 0%{?_with_ipv6default:1} ) +BuildRequires: libtirpc-devel +%endif BuildRequires: userspace-rcu-devel >= 0.7 %if ( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: automake @@ -611,6 +618,9 @@ Requires: %{name}-libs = %{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} +%if ( 0%{?_with_ipv6default:1} ) +Requires: libtirpc +%endif # self-heal daemon, rebalance, nfs-server etc. are actually clients Requires: %{name}-api = %{version}-%{release} Requires: %{name}-client-xlators = %{version}-%{release} @@ -685,7 +695,8 @@ export CFLAGS %{?_without_ocf} \ %{?_without_rdma} \ %{?_without_syslog} \ - %{?_without_tiering} + %{?_without_tiering} \ + %{?_with_ipv6default} # fix hardening and remove rpath in shlibs %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) @@ -1019,6 +1030,7 @@ exit 0 %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 @@ -1385,6 +1397,12 @@ exit 0 %endif %changelog +* Sat Dec 2 2017 Kaleb S. KEITHLEY - 3.13.0-1 +- 3.13.0 GA + +* Wed Nov 22 2017 Kaleb S. KEITHLEY - 3.13.0-0.1.rc0 +- 3.13.0 RC0 + * Mon Nov 13 2017 Kaleb S. KEITHLEY - 3.12.3-1 - 3.12.3 GA diff --git a/sources b/sources index 8e6a84d..9dda890 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-3.12.3.tar.gz) = f648b8324a69360b510c947e49918467c969dcc21b6a408b6916b780aa78c44abe027b6c84d696eed7d5f381b055edd3be1dfe4f3ea8f76d15d9319cd08cfa3d +SHA512 (glusterfs-3.13.0.tar.gz) = 36d89866658ed10b84ba38a1d7f2afd90f1b7fcc5e40f7e8a2c8e1d05e5b282e7f4e9e20dbe64e093b997a05f884563b8b57aef9ed6b17d61400275c3553c5e1 From e241395b7e8c32a55720d4dd53a557e29fcb584d Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 21 Dec 2017 06:28:27 -0500 Subject: [PATCH 003/160] 3.13.1 GA Signed-off-by: Kaleb S. KEITHLEY --- ...erfsd-Dereferencing-the-null-pointer.patch | 39 ------------------- glusterfs.spec | 5 ++- sources | 2 +- 3 files changed, 5 insertions(+), 41 deletions(-) delete mode 100644 0001-glusterfsd-Dereferencing-the-null-pointer.patch diff --git a/0001-glusterfsd-Dereferencing-the-null-pointer.patch b/0001-glusterfsd-Dereferencing-the-null-pointer.patch deleted file mode 100644 index eabad8a..0000000 --- a/0001-glusterfsd-Dereferencing-the-null-pointer.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 87bd25b64ae34cce95e87e724acfeab4c13d60a4 Mon Sep 17 00:00:00 2001 -From: Sanju Rakonde -Date: Wed, 18 Oct 2017 08:06:24 +0530 -Subject: [PATCH] glusterfsd: Dereferencing the null pointer - -Problem: When control reaches to out, one of (iobref, iobuf, frame) can -be null.for iobref, iobuf iobref_unref() and iobuf_unref() functions -are called respectively, which are using GF_VALIDATE_OR_GOTO(), so -there won't be null pointer dereference. But for frame without null -checking STACK_DESTROY(frame->root) is called causing null pointer -dereference. - -Fix: adding a line for null checking, the function -STACK_DESTROY(frame->root) is called only when frame is not null. - -Change-Id: I3a6684c11fb7b694b81d6ad4fec3bced5562ad88 -BUG: 1503394 -Signed-off-by: Sanju Rakonde ---- - glusterfsd/src/gf_attach.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/glusterfsd/src/gf_attach.c b/glusterfsd/src/gf_attach.c -index 05119e4f4..3f248292d 100644 ---- a/glusterfsd/src/gf_attach.c -+++ b/glusterfsd/src/gf_attach.c -@@ -144,7 +144,8 @@ out: - - iobref_unref (iobref); - iobuf_unref (iobuf); -- STACK_DESTROY (frame->root); -+ if (frame) -+ STACK_DESTROY (frame->root); - - if (rpc_status != 0) { - fprintf (stderr, "got error %d on RPC\n", rpc_status); --- -2.13.5 - diff --git a/glusterfs.spec b/glusterfs.spec index cc0ba49..b33f9c5 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -179,7 +179,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 3.13.0 +Version: 3.13.1 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1397,6 +1397,9 @@ exit 0 %endif %changelog +* Thu Dec 21 2017 Kaleb S. KEITHLEY - 3.13.1-1 +- 3.13.1 GA + * Sat Dec 2 2017 Kaleb S. KEITHLEY - 3.13.0-1 - 3.13.0 GA diff --git a/sources b/sources index 9dda890..1b71241 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-3.13.0.tar.gz) = 36d89866658ed10b84ba38a1d7f2afd90f1b7fcc5e40f7e8a2c8e1d05e5b282e7f4e9e20dbe64e093b997a05f884563b8b57aef9ed6b17d61400275c3553c5e1 +SHA512 (glusterfs-3.13.1.tar.gz) = 74685a070d96c4e4250435bd915d1f8d18221c044cbfa9ed01a552c3b5d2450022d1a552de7cdf1f3834c747f1e88118a56348a2b66d19027a4794d25f7c5187 From b2dc9600e4ff5bb0d415a2bf4484688bec1794d6 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Mon, 25 Dec 2017 14:43:28 +0100 Subject: [PATCH 004/160] Fedora 28 has renamed pyxattr BUG: 1528975 URL: https://review.gluster.org/19074 Signed-off-by: Niels de Vos --- glusterfs.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index b33f9c5..6543df3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -180,7 +180,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 3.13.1 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -654,7 +654,11 @@ Obsoletes: %{name}-geo-replication = %{version}-%{release} %if ( 0%{?rhel} && 0%{?rhel} <= 6 ) Requires: python-argparse %endif +%if ( 0%{?fedora} && 0%{?fedora} >= 28 ) +Requires: python2-pyxattr +%else Requires: pyxattr +%endif %if (0%{?_with_valgrind:1}) Requires: valgrind %endif @@ -1397,6 +1401,9 @@ exit 0 %endif %changelog +* Mon Dec 25 2017 Niels de Vos - 3.13.1-2 +- Fedora 28 has renamed pyxattr + * Thu Dec 21 2017 Kaleb S. KEITHLEY - 3.13.1-1 - 3.13.1 GA From a39583ebb72dd2ac021f34ffea8130c699b8ccee Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 12 Jan 2018 09:41:42 -0500 Subject: [PATCH 005/160] Group: is deprecated, as seen in another unrelated package review --- glusterfs.spec | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 6543df3..66a9304 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -187,7 +187,6 @@ Version: @PACKAGE_VERSION@ Release: 0.@PACKAGE_RELEASE@%{?dist}.5 %endif License: GPLv2 or LGPLv3+ -Group: System Environment/Base URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) Source0: http://bits.gluster.org/pub/gluster/%{name}/src/%{name}-%{version}%{?prereltag}.tar.gz @@ -278,7 +277,6 @@ and client framework. %package api Summary: GlusterFS api library -Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} Requires: %{name}-client-xlators = %{version}-%{release} @@ -295,7 +293,6 @@ This package provides the glusterfs libgfapi library. %package api-devel Summary: Development Libraries -Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} Requires: libacl-devel @@ -313,7 +310,6 @@ This package provides the api include files. %package cli Summary: GlusterFS CLI -Group: Applications/File Requires: %{name}-libs = %{version}-%{release} %description cli @@ -329,7 +325,6 @@ This package provides the GlusterFS CLI application and its man page %package client-xlators Summary: GlusterFS client-side translators -Group: Applications/File %description client-xlators GlusterFS is a distributed file-system capable of scaling to several @@ -344,7 +339,6 @@ This package provides the translators needed on any GlusterFS client. %package devel Summary: Development Libraries -Group: Development/Libraries Requires: %{name} = %{version}-%{release} # Needed for the Glupy examples to work Requires: %{name}-extra-xlators = %{version}-%{release} @@ -364,7 +358,6 @@ This package provides the development libraries and include files. %if ( 0%{!?_without_events:1} ) %package events Summary: GlusterFS Events -Group: Applications/File Requires: %{name}-server%{?_isa} = %{version}-%{release} Requires: python2 python-prettytable Requires: python2-gluster = %{version}-%{release} @@ -396,7 +389,6 @@ This package provides the GlusterFS Events %package extra-xlators Summary: Extra Gluster filesystem Translators -Group: Applications/File # We need python2-gluster rpm for gluster module's __init__.py in Python # site-packages area Requires: python2-gluster = %{version}-%{release} @@ -419,7 +411,6 @@ for GlusterFS. %package fuse Summary: Fuse client -Group: Applications/File BuildRequires: fuse-devel Requires: attr Requires: psmisc @@ -445,7 +436,6 @@ glusterfsd and glusterfs binaries. %if ( 0%{!?_without_georeplication:1} ) %package geo-replication Summary: GlusterFS Geo-replication -Group: Applications/File Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: python2 @@ -471,7 +461,6 @@ This package provides support to geo-replication. %if ( 0%{?_with_gnfs:1} ) %package gnfs Summary: GlusterFS gNFS server -Group: System Environment/Daemons Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release} Requires: nfs-utils @@ -490,7 +479,6 @@ This package provides the glusterfs legacy gNFS server xlator %package libs Summary: GlusterFS common libraries -Group: Applications/File %description libs GlusterFS is a distributed file-system capable of scaling to several @@ -505,7 +493,6 @@ This package provides the base GlusterFS libraries %package -n python-gluster Summary: GlusterFS python library -Group: Development/Tools %if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) ) # EL5 does not support noarch sub-packages BuildArch: noarch @@ -527,7 +514,6 @@ namespace. %package -n python2-gluster Summary: GlusterFS python library -Group: Development/Tools %{?python_provide:%python_provide python2-gluster} Requires: python2 Provides: python-gluster = %{version}-%{release} @@ -538,7 +524,6 @@ Obsoletes: python-gluster < 3.10 %if ( 0%{!?_without_rdma:1} ) %package rdma Summary: GlusterFS rdma support for ib-verbs -Group: Applications/File %if ( 0%{?fedora} && 0%{?fedora} > 26 ) BuildRequires: rdma-core-devel %else @@ -562,7 +547,6 @@ This package provides support to ib-verbs library. %if ( ! 0%{_for_fedora_koji_builds} ) %package regression-tests Summary: Development Tools -Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: %{name}-fuse = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} @@ -585,12 +569,6 @@ License: GPLv3+ # EL5 does not support noarch sub-packages BuildArch: noarch %endif -# this Group handling comes from the Fedora resource-agents package -%if ( 0%{?fedora} || 0%{?centos_version} || 0%{?rhel} ) -Group: System Environment/Base -%else -Group: Productivity/Clustering/HA -%endif # for glusterd Requires: %{name}-server = %{version}-%{release} # depending on the distribution, we need pacemaker or resource-agents @@ -612,7 +590,6 @@ like Pacemaker. %package server Summary: Distributed file-system server -Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-cli = %{version}-%{release} From 3a9e8490b755eebb5ceca19aadd4cc89df7832e4 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 18 Jan 2018 12:45:53 -0500 Subject: [PATCH 006/160] glibc in Fedora 28 has removed rpc headers and rpcgen, use libtirpc Signed-off-by: Kaleb S. KEITHLEY --- 0001-libtirpc.patch | 30 ++++++++++++++++++++++++++++++ glusterfs.spec | 22 ++++++++++++++++++---- 2 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 0001-libtirpc.patch diff --git a/0001-libtirpc.patch b/0001-libtirpc.patch new file mode 100644 index 0000000..a88e781 --- /dev/null +++ b/0001-libtirpc.patch @@ -0,0 +1,30 @@ +diff --git a/configure.ac b/configure.ac +index 14fc0b826..0b48807f1 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -293,6 +293,10 @@ else + CFLAGS="${CFLAGS} -g -rdynamic" + fi + ++AC_ARG_WITH([libtirpc], ++ AS_HELP_STRING([--with-libtirpc], [Use libtirpc as RPC implementation (instead of sunrpc)]), ++ [], [with_libtirpc=no]) ++ + AC_ARG_WITH([ipv6-default], AC_HELP_STRING([--with-ipv6-default], [Set IPv6 as default.])) + if test "x$with_ipv6_default" = "xyes"; then + IPV6_DEFAULT=yes +@@ -1066,6 +1070,14 @@ AC_SUBST(GF_DISTRIBUTION) + GF_HOST_OS="" + GF_LDFLAGS="-rdynamic" + ++dnl include tirpc for IPv6 builds ++if test "x$with_libtirpc" = "xyes" || test "x$IPV6_DEFAULT" = "xyes" ; then ++ PKG_CHECK_MODULES([TIRPC], [libtirpc], ++ [GF_CFLAGS="$GF_CFLAGS $TIRPC_CFLAGS"; GF_LDFLAGS="$GF_LDFLAGS $TIRPC_LIBS";], ++ [AC_MSG_ERROR([libtirpc requested or needed for IPv6 default but library not found])] ++ ) ++fi ++ + dnl include tirpc for IPv6 builds + if test "x$IPV6_DEFAULT" = "xyes"; then + AC_CHECK_LIB([tirpc], [xdr_string], , AC_MSG_ERROR([libtirpc is required to build glusterfs with IPv6 default])) diff --git a/glusterfs.spec b/glusterfs.spec index 66a9304..400befd 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -88,6 +88,10 @@ %global _without_tiering --disable-tiering %endif +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) +%global _with_libtirpc --with-libtirpc +%endif + ##----------------------------------------------------------------------------- ## All %%global definitions should be placed here and keep them sorted ## @@ -180,7 +184,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 3.13.1 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -198,6 +202,7 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif +Patch0: 0001-libtirpc.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) @@ -222,9 +227,12 @@ BuildRequires: python2-devel %if ( 0%{?rhel} && 0%{?rhel} <= 7 ) BuildRequires: python-ctypes %endif -%if ( 0%{?_with_ipv6default:1} ) +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?_with_ipv6default:1} ) BuildRequires: libtirpc-devel %endif +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) +BuildRequires: rpcgen +%endif BuildRequires: userspace-rcu-devel >= 0.7 %if ( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: automake @@ -654,6 +662,7 @@ This package provides the glusterfs server daemon. %prep %setup -q -n %{name}-%{version}%{?prereltag} +%patch0 -p1 %build %if ( 0%{?rhel} && 0%{?rhel} < 6 ) @@ -661,6 +670,7 @@ CFLAGS=-DUSE_INSECURE_OPENSSL export CFLAGS %endif +sed -i -e 's/--quiet//' configure.ac ./autogen.sh && %configure \ %{?_with_cmocka} \ %{?_with_debug} \ @@ -677,7 +687,8 @@ export CFLAGS %{?_without_rdma} \ %{?_without_syslog} \ %{?_without_tiering} \ - %{?_with_ipv6default} + %{?_with_ipv6default} \ + %{?_with_libtirpc} # fix hardening and remove rpath in shlibs %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) @@ -686,7 +697,7 @@ 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 -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %check make check @@ -1378,6 +1389,9 @@ exit 0 %endif %changelog +* Thu Jan 18 2018 Kaleb S. KEITHLEY - 3.13.1-3 +- glibc in Fedora 28 has removed rpc headers and rpcgen, use libtirpc + * Mon Dec 25 2017 Niels de Vos - 3.13.1-2 - Fedora 28 has renamed pyxattr From 1b91ec82ecf8e8565c6d70751107bd8985825b39 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Sat, 20 Jan 2018 08:46:50 -0500 Subject: [PATCH 007/160] 3.13.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 400befd..6379091 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -183,8 +183,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 3.13.1 -Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist} +Version: 3.13.2 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1389,6 +1389,9 @@ exit 0 %endif %changelog +* Sat Jan 20 2018 Kaleb S. KEITHLEY - 3.13.2-1 +- 3.13.2 GA + * Thu Jan 18 2018 Kaleb S. KEITHLEY - 3.13.1-3 - glibc in Fedora 28 has removed rpc headers and rpcgen, use libtirpc diff --git a/sources b/sources index 1b71241..fd2ca38 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-3.13.1.tar.gz) = 74685a070d96c4e4250435bd915d1f8d18221c044cbfa9ed01a552c3b5d2450022d1a552de7cdf1f3834c747f1e88118a56348a2b66d19027a4794d25f7c5187 +SHA512 (glusterfs-3.13.2.tar.gz) = 5c89390805b8c5cb3b1eed91300e239a3772a076c2ee1c14332688b509cb396e7ef5772d0b45905807515798bcaeef26c806017bdcdbb0efc83048c07b772d81 From b2d4e49cd8830345cdc58ce2ab82a1133d9efcff Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 13:09:02 +0000 Subject: [PATCH 008/160] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_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 6379091..ae14ee4 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -184,11 +184,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 3.13.2 -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}.5 +Release: 0.@PACKAGE_RELEASE@%{?dist}.6 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1389,6 +1389,9 @@ exit 0 %endif %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 3.13.2-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sat Jan 20 2018 Kaleb S. KEITHLEY - 3.13.2-1 - 3.13.2 GA From c24be22e5c5378b9c8809589437571c672f1bb73 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 13 Feb 2018 23:26:43 +0100 Subject: [PATCH 009/160] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- glusterfs.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index ae14ee4..adabb48 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -204,7 +204,6 @@ Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif Patch0: 0001-libtirpc.patch -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Requires(pre): shadow-utils %if ( 0%{?rhel} && 0%{?rhel} < 6 ) From 662178f0dd6a71e9691868bd3d55fd920e9640e5 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 07:13:56 +0100 Subject: [PATCH 010/160] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- glusterfs.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index adabb48..25df8a3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -812,9 +812,6 @@ find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glus install -p -m 0755 -D extras/command-completion/gluster.bash \ %{buildroot}%{_sysconfdir}/bash_completion.d/gluster -%clean -rm -rf %{buildroot} - ##----------------------------------------------------------------------------- ## All %%post should be placed here and keep them sorted ## From 4708c093f7b75db61253546105340fa5ba9a2106 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 15 Feb 2018 12:15:21 -0500 Subject: [PATCH 011/160] shared lib scriptlets, ldconfig Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 6379091..965aa61 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -184,7 +184,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 3.13.2 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -820,7 +820,6 @@ rm -rf %{buildroot} ## All %%post should be placed here and keep them sorted ## %post -/sbin/ldconfig %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) %systemd_postun_with_restart rsyslog @@ -828,8 +827,6 @@ rm -rf %{buildroot} %endif exit 0 -%post api -p /sbin/ldconfig - %if ( 0%{!?_without_events:1} ) %post events %systemd_post glustereventsd @@ -850,10 +847,6 @@ fi exit 0 %endif -%post libs -/sbin/ldconfig -exit 0 - %post server # Legacy server %systemd_post glusterd @@ -896,7 +889,6 @@ fi # BZ 834847 if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then rm -f /etc/ld.so.conf.d/glusterfs.conf - /sbin/ldconfig fi %if (0%{?_with_firewalld:1}) @@ -971,7 +963,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} && 0%{?rhel} >= 6 ) %systemd_postun_with_restart rsyslog @@ -979,16 +970,7 @@ exit 0 %endif exit 0 -%postun api -/sbin/ldconfig -exit 0 - -%postun libs -/sbin/ldconfig -exit 0 - %postun server -/sbin/ldconfig %if (0%{?_with_firewalld:1}) %firewalld_reload %endif @@ -1389,6 +1371,9 @@ exit 0 %endif %changelog +* Thu Feb 15 2018 Kaleb S. KEITHLEY - 3.13.2-2 +- shared lib scriptlets, ldconfig + * Sat Jan 20 2018 Kaleb S. KEITHLEY - 3.13.2-1 - 3.13.2 GA From 06620abb6ea10bd86972d5305340115d8f258a04 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 27 Feb 2018 08:58:41 -0500 Subject: [PATCH 012/160] 4.0.0 RC1 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 231 ++++++++++++++++++++++++++++++++++--------------- sources | 2 +- 2 files changed, 160 insertions(+), 73 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 471c082..f204578 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,30 +1,88 @@ %global _hardened_build 1 +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) +%undefine _strict_symbol_defs_build +%endif + %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 ## -# if you wish to compile an rpm with debugging... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with debug -%{?_with_debug:%global _with_debug --enable-debug} +# 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 you wish to compile an rpm to run all processes under valgrind... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with valgrind -%{?_with_valgrind:%global _with_valgrind --enable-valgrind} - -# if you wish to compile an rpm with IPv6 default... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with ipv6default -%{?_with_ipv6default:%global _with_ipv6default --with-ipv6default} +%if ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) +%global _without_bd --disable-bd-xlator +%endif +# cmocka # if you wish to compile an rpm with cmocka unit testing... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with cmocka %{?_with_cmocka:%global _with_cmocka --enable-cmocka} +# debug +# if you wish to compile an rpm with debugging... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with debug +%{?_with_debug:%global _with_debug --enable-debug} + +# epoll +# if you wish to compile an rpm without epoll... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without epoll +%{?_without_epoll:%global _without_epoll --disable-epoll} + +# fusermount +# if you wish to compile an rpm without fusermount... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without fusermount +%{?_without_fusermount:%global _without_fusermount --disable-fusermount} + +# geo-rep +# if you wish to compile an rpm without geo-replication support, compile like this... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication +%{?_without_georeplication:%global _without_georeplication --disable-georeplication} + +# Disable geo-replication on EL5, as its default Python is too old +%if ( 0%{?rhel} && 0%{?rhel} < 6 ) +%global _without_georeplication --disable-georeplication +%endif + +# 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} + +%if ( 0%{_for_fedora_koji_builds} ) +%global _with_gnfs --enable-gnfs +%endif + +# ipv6default +# if you wish to compile an rpm with IPv6 default... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with ipv6default +%{?_with_ipv6default:%global _with_ipv6default --with-ipv6default} + +# 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 +%{?_without_libtirpc:%global _without_libtirpc --without-libtirpc} + +# Do not use libtirpc on EL6, it does not have xdr_uint64_t() and xdr_uint32_t +# Do not use libtirpc on EL7, it does not have xdr_sizeof() +%if ( 0%{?rhel} && 0%{?rhel} <= 7 ) +%global _without_libtirpc --without-libtirpc +%endif + +# ocf +# if you wish to compile an rpm without the OCF resource agents... +# 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} @@ -34,35 +92,17 @@ %global _without_rdma --disable-ibverbs %endif -# if you wish to compile an rpm without epoll... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without epoll -%{?_without_epoll:%global _without_epoll --disable-epoll} +# server +# if you wish to build rpms without server components, compile like this +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without server +%{?_without_server:%global _without_server --without-server} -# if you wish to compile an rpm without fusermount... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without fusermount -%{?_without_fusermount:%global _without_fusermount --disable-fusermount} - -# if you wish to compile an rpm without geo-replication support, compile like this... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication -%{?_without_georeplication:%global _without_georeplication --disable-georeplication} - -# 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} - -%if ( 0%{_for_fedora_koji_builds} ) -%global _with_gnfs --enable-gnfs +# disable server components forcefully as rhel <= 6 +%if ( 0%{?rhel} && 0%{?rhel} <= 6 ) +%global _without_server --without-server %endif -# Disable geo-replication on EL5, as its default Python is too old -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -%global _without_georeplication --disable-georeplication -%endif - -# if you wish to compile an rpm without the OCF resource agents... -# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf -%{?_without_ocf:%global _without_ocf --without-ocf} - +# syslog # if you wish to build rpms without syslog logging, compile like this # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without syslog %{?_without_syslog:%global _without_syslog --disable-syslog} @@ -71,40 +111,34 @@ # Fedora deprecated syslog, see # https://fedoraproject.org/wiki/Changes/NoDefaultSyslog # (And what about RHEL7?) -%if ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) +%if ( ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) ) %global _without_syslog --disable-syslog %endif -# 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%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) -%global _without_bd --disable-bd-xlator -%endif - +# tier # Disable data-tiering on EL5, sqlite is too old %if ( 0%{?rhel} && 0%{?rhel} < 6 ) %global _without_tiering --disable-tiering %endif -%if ( 0%{?fedora} && 0%{?fedora} > 27 ) -%global _with_libtirpc --with-libtirpc -%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 +%{?_with_valgrind:%global _with_valgrind --enable-valgrind} ##----------------------------------------------------------------------------- ## All %%global definitions should be placed here and keep them sorted ## -%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) +%if ( 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %global _with_systemd true %endif -%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) +%if ( 0%{?fedora} || ( 0%{?rhel} && 0%{?rhel} > 6 ) ) %global _with_firewalld --enable-firewalld %endif -%if 0%{?_tmpfilesdir:1} +%if ( 0%{?_tmpfilesdir:1} ) %global _with_tmpfilesdir --with-tmpfilesdir=%{_tmpfilesdir} %else %global _with_tmpfilesdir --without-tmpfilesdir @@ -115,6 +149,14 @@ %global _without_events --disable-events %endif +# without server should also disable some server-only components +%if ( 0%{?_without_server:1} ) +%global _without_events --disable-events +%global _without_georeplication --disable-georeplication +%global _with_gnfs %{nil} +%global _without_tiering --disable-tiering +%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())")} @@ -183,17 +225,17 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 3.13.2 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Version: 4.0.0 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ -Release: 0.@PACKAGE_RELEASE@%{?dist}.6 +Release: 0.@PACKAGE_RELEASE@%{?dist}.5 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) -Source0: http://bits.gluster.org/pub/gluster/%{name}/src/%{name}-%{version}%{?prereltag}.tar.gz +Source0: http://download.gluster.org/pub/gluster/%{name}/qa-releases/%{version}%{?prereltag}/%{name}-%{version}%{prereltag}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source6: rhel5-load-fuse-modules @@ -202,8 +244,8 @@ Source8: glusterfsd.init %else Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif -Patch0: 0001-libtirpc.patch +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Requires(pre): shadow-utils %if ( 0%{?rhel} && 0%{?rhel} < 6 ) @@ -226,7 +268,7 @@ BuildRequires: python2-devel %if ( 0%{?rhel} && 0%{?rhel} <= 7 ) BuildRequires: python-ctypes %endif -%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?_with_ipv6default:1} ) +%if ( 0%{?_with_ipv6default:1} || 0%{!?_without_libtirpc:1} ) BuildRequires: libtirpc-devel %endif %if ( 0%{?fedora} && 0%{?fedora} > 27 ) @@ -254,7 +296,7 @@ BuildRequires: lvm2-devel BuildRequires: libattr-devel %endif -%if (0%{?_with_firewalld:1}) +%if ( 0%{?_with_firewalld:1} ) BuildRequires: firewalld %endif @@ -315,6 +357,7 @@ is in user space and easily manageable. This package provides the api include files. +%if ( 0%{!?_without_server:1} ) %package cli Summary: GlusterFS CLI Requires: %{name}-libs = %{version}-%{release} @@ -329,6 +372,7 @@ 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 +%endif %package client-xlators Summary: GlusterFS client-side translators @@ -370,10 +414,8 @@ Requires: python2 python-prettytable Requires: python2-gluster = %{version}-%{release} %if ( 0%{?rhel} ) Requires: python-requests -Requires: python-jwt %else Requires: python2-requests -Requires: python2-jwt %endif %if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse @@ -595,6 +637,7 @@ Open Cluster Framework (OCF) compliant cluster resource managers, like Pacemaker. %endif +%if ( 0%{!?_without_server:1} ) %package server Summary: Distributed file-system server Requires: %{name} = %{version}-%{release} @@ -602,9 +645,6 @@ Requires: %{name}-libs = %{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} -%if ( 0%{?_with_ipv6default:1} ) -Requires: libtirpc -%endif # self-heal daemon, rebalance, nfs-server etc. are actually clients Requires: %{name}-api = %{version}-%{release} Requires: %{name}-client-xlators = %{version}-%{release} @@ -657,11 +697,11 @@ called Translators from GNU Hurd kernel. Much of the code in GlusterFS is in user space and easily manageable. This package provides the glusterfs server daemon. +%endif %prep %setup -q -n %{name}-%{version}%{?prereltag} -%patch0 -p1 %build %if ( 0%{?rhel} && 0%{?rhel} < 6 ) @@ -685,9 +725,10 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_ocf} \ %{?_without_rdma} \ %{?_without_syslog} \ + %{?_without_server} \ %{?_without_tiering} \ %{?_with_ipv6default} \ - %{?_with_libtirpc} + %{?_without_libtirpc} # fix hardening and remove rpath in shlibs %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 ) @@ -713,9 +754,11 @@ install -D -p -m 0644 %{SOURCE1} \ install -D -p -m 0644 %{SOURCE2} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd %else +%if ( 0%{!?_without_server:1} ) install -D -p -m 0644 extras/glusterd-sysconfig \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd %endif +%endif %if ( 0%{_for_fedora_koji_builds} ) %if ( 0%{?rhel} && 0%{?rhel} < 6 ) @@ -762,12 +805,14 @@ rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim %endif +%if ( 0%{!?_without_server:1} ) # Create working directory mkdir -p %{buildroot}%{_sharedstatedir}/glusterd # Update configuration file to /var/lib working directory sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \ %{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol +%endif # Install glusterfsd .service or init.d file %if ( 0%{_for_fedora_koji_builds} ) @@ -785,6 +830,7 @@ install -D -p -m 0644 extras/glusterfs-georep-logrotate \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-georep %endif +%if ( 0%{!?_without_server:1} ) # the rest of the ghosts touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info touch %{buildroot}%{_sharedstatedir}/glusterd/options @@ -803,19 +849,26 @@ mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/snaps mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/ss_brick touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/nfs-server.vol touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid +%endif %if ( ! 0%{_for_fedora_koji_builds} ) find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs %endif +%if ( 0%{!?_without_server:1} ) ## Install bash completion for cli install -p -m 0755 -D extras/command-completion/gluster.bash \ %{buildroot}%{_sysconfdir}/bash_completion.d/gluster +%endif + +%clean +rm -rf %{buildroot} ##----------------------------------------------------------------------------- ## All %%post should be placed here and keep them sorted ## %post +/sbin/ldconfig %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) %systemd_postun_with_restart rsyslog @@ -823,6 +876,8 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ %endif exit 0 +%post api -p /sbin/ldconfig + %if ( 0%{!?_without_events:1} ) %post events %systemd_post glustereventsd @@ -843,6 +898,11 @@ fi exit 0 %endif +%post libs +/sbin/ldconfig +exit 0 + +%if ( 0%{!?_without_server:1} ) %post server # Legacy server %systemd_post glusterd @@ -885,6 +945,7 @@ fi # BZ 834847 if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then rm -f /etc/ld.so.conf.d/glusterfs.conf + /sbin/ldconfig fi %if (0%{?_with_firewalld:1}) @@ -913,6 +974,7 @@ else rm -f %{_rundir}/glusterd.socket fi exit 0 +%endif ##----------------------------------------------------------------------------- ## All %%pre should be placed here and keep them sorted @@ -936,6 +998,7 @@ fi exit 0 %endif +%if ( 0%{!?_without_server:1} ) %preun server if [ $1 -eq 0 ]; then if [ -f %glusterfsd_svcfile ]; then @@ -954,11 +1017,13 @@ if [ $1 -ge 1 ]; then %systemd_postun_with_restart glusterd fi exit 0 +%endif ##----------------------------------------------------------------------------- ## All %%postun should be placed here and keep them sorted ## %postun +/sbin/ldconfig %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) %systemd_postun_with_restart rsyslog @@ -966,11 +1031,22 @@ 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 exit 0 +%endif ##----------------------------------------------------------------------------- ## All %%files should be placed here and keep them sorted by groups @@ -979,16 +1055,20 @@ exit 0 %{!?_licensedir:%global license %%doc} %license COPYING-GPLV2 COPYING-LGPLV3 %doc ChangeLog INSTALL README.md THANKS +%if ( 0%{!?_without_server:1} ) %{_mandir}/man8/*gluster*.8* +%endif %exclude %{_mandir}/man8/gluster.8* %dir %{_localstatedir}/log/glusterfs %if ( 0%{!?_without_rdma:1} ) %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* %endif +%if ( 0%{!?_without_server:1} ) %dir %{_datadir}/glusterfs %dir %{_datadir}/glusterfs/scripts %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh +%endif # xlators that are needed on the client- and on the server-side %dir %{_libdir}/glusterfs %dir %{_libdir}/glusterfs/%{version}%{?prereltag} @@ -1034,7 +1114,7 @@ exit 0 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/system/posix-acl.so %dir %attr(0775,gluster,gluster) %{_rundir}/gluster -%if 0%{?_tmpfilesdir:1} +%if 0%{?_tmpfilesdir:1} && 0%{!?_without_server:1} %{_tmpfilesdir}/gluster.conf %endif @@ -1052,10 +1132,12 @@ exit 0 %dir %{_includedir}/glusterfs/api %{_includedir}/glusterfs/api/* +%if ( 0%{!?_without_server:1} ) %files cli %{_sbindir}/gluster %{_mandir}/man8/gluster.8* %{_sysconfdir}/bash_completion.d/gluster +%endif %files client-xlators %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster @@ -1114,7 +1196,7 @@ exit 0 %endif %endif -%if ( 0%{?_with_gnfs:1} ) +%if ( 0%{?_with_gnfs:1} && 0%{!?_without_server:1} ) %files gnfs %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs/* @@ -1199,6 +1281,7 @@ exit 0 %{_prefix}/lib/ocf/resource.d/glusterfs %endif +%if ( 0%{!?_without_server:1} ) %files server %doc extras/clear_xattrs.sh # sysconf @@ -1239,6 +1322,7 @@ exit 0 %{_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 %if ( 0%{!?_without_tiering:1} ) %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/changetimerecorder.so %{_libdir}/libgfdb.so.* @@ -1334,6 +1418,8 @@ exit 0 %{_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 @@ -1345,6 +1431,7 @@ exit 0 %if ( 0%{?_with_firewalld:1} ) %{_prefix}/lib/firewalld/services/glusterfs.xml %endif +%endif # Events %if ( 0%{!?_without_events:1} ) @@ -1367,11 +1454,11 @@ exit 0 %endif %changelog -* Thu Feb 15 2018 Kaleb S. KEITHLEY - 3.13.2-2 -- shared lib scriptlets, ldconfig +* Tue Feb 27 2018 Kaleb S. KEITHLEY - 4.0.0rc1-1 +- 4.0.0 RC1 -* Wed Feb 07 2018 Fedora Release Engineering - 3.13.2-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild +* Fri Feb 2 2018 Kaleb S. KEITHLEY - 4.0.0rc0-1 +- 4.0.0 RC0 * Sat Jan 20 2018 Kaleb S. KEITHLEY - 3.13.2-1 - 3.13.2 GA diff --git a/sources b/sources index fd2ca38..d42037c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-3.13.2.tar.gz) = 5c89390805b8c5cb3b1eed91300e239a3772a076c2ee1c14332688b509cb396e7ef5772d0b45905807515798bcaeef26c806017bdcdbb0efc83048c07b772d81 +SHA512 (glusterfs-4.0.0rc1.tar.gz) = afba232d8d4c7ce3932f64463bd41d902c97dea48bd6b2fc6dd52d2e35d69233adbada2e564f91752e25370d92e4a6de74bc3f6883a9133dfed8545d57ff0a06 From 2853f8d9239a857a818787550c6861c98f63f8de Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 1 Mar 2018 07:58:23 -0500 Subject: [PATCH 013/160] 4.0.0 RC1, python2-prettytable, .../rpms/glusterfs/pull-request/3 Signed-off-by: Kaleb S. KEITHLEY --- 0001-libtirpc.patch | 30 ------------------------------ glusterfs.spec | 11 +++++++---- 2 files changed, 7 insertions(+), 34 deletions(-) delete mode 100644 0001-libtirpc.patch diff --git a/0001-libtirpc.patch b/0001-libtirpc.patch deleted file mode 100644 index a88e781..0000000 --- a/0001-libtirpc.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 14fc0b826..0b48807f1 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -293,6 +293,10 @@ else - CFLAGS="${CFLAGS} -g -rdynamic" - fi - -+AC_ARG_WITH([libtirpc], -+ AS_HELP_STRING([--with-libtirpc], [Use libtirpc as RPC implementation (instead of sunrpc)]), -+ [], [with_libtirpc=no]) -+ - AC_ARG_WITH([ipv6-default], AC_HELP_STRING([--with-ipv6-default], [Set IPv6 as default.])) - if test "x$with_ipv6_default" = "xyes"; then - IPV6_DEFAULT=yes -@@ -1066,6 +1070,14 @@ AC_SUBST(GF_DISTRIBUTION) - GF_HOST_OS="" - GF_LDFLAGS="-rdynamic" - -+dnl include tirpc for IPv6 builds -+if test "x$with_libtirpc" = "xyes" || test "x$IPV6_DEFAULT" = "xyes" ; then -+ PKG_CHECK_MODULES([TIRPC], [libtirpc], -+ [GF_CFLAGS="$GF_CFLAGS $TIRPC_CFLAGS"; GF_LDFLAGS="$GF_LDFLAGS $TIRPC_LIBS";], -+ [AC_MSG_ERROR([libtirpc requested or needed for IPv6 default but library not found])] -+ ) -+fi -+ - dnl include tirpc for IPv6 builds - if test "x$IPV6_DEFAULT" = "xyes"; then - AC_CHECK_LIB([tirpc], [xdr_string], , AC_MSG_ERROR([libtirpc is required to build glusterfs with IPv6 default])) diff --git a/glusterfs.spec b/glusterfs.spec index f204578..3348c35 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -226,7 +226,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.0.0 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -410,7 +410,7 @@ This package provides the development libraries and include files. %package events Summary: GlusterFS Events Requires: %{name}-server%{?_isa} = %{version}-%{release} -Requires: python2 python-prettytable +Requires: python2 python2-prettytable Requires: python2-gluster = %{version}-%{release} %if ( 0%{?rhel} ) Requires: python-requests @@ -488,7 +488,7 @@ Summary: GlusterFS Geo-replication Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: python2 -Requires: python-prettytable +Requires: python2-prettytable %if ( 0%{?rhel} && 0%{?rhel} <= 7 ) BuildRequires: python-ctypes %endif @@ -1454,7 +1454,10 @@ exit 0 %endif %changelog -* Tue Feb 27 2018 Kaleb S. KEITHLEY - 4.0.0rc1-1 +* Thu Mar 1 2018 Kaleb S. KEITHLEY - 4.0.0-0.2rc1 +- 4.0.0 RC1, python2-prettytable, .../rpms/glusterfs/pull-request/3 + +* Tue Feb 27 2018 Kaleb S. KEITHLEY - 4.0.0-0.1rc1 - 4.0.0 RC1 * Fri Feb 2 2018 Kaleb S. KEITHLEY - 4.0.0rc0-1 From bef36a0b9d32873222bdadd722f160b6351bdfdb Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 6 Mar 2018 11:11:10 -0500 Subject: [PATCH 014/160] 4.0.0 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 13 ++++++------- sources | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 3348c35..ec19e4b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,13 +1,9 @@ %global _hardened_build 1 -%if ( 0%{?fedora} && 0%{?fedora} > 27 ) -%undefine _strict_symbol_defs_build -%endif - %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 @@ -226,7 +222,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.0.0 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -235,7 +231,7 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.5 License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) -Source0: http://download.gluster.org/pub/gluster/%{name}/qa-releases/%{version}%{?prereltag}/%{name}-%{version}%{prereltag}.tar.gz +Source0: http://download.gluster.org/pub/gluster/%{name}/4.0/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source6: rhel5-load-fuse-modules @@ -1454,6 +1450,9 @@ exit 0 %endif %changelog +* Tue Mar 6 2018 Kaleb S. KEITHLEY - 4.0.0-1 +- 4.0.0 GA + * Thu Mar 1 2018 Kaleb S. KEITHLEY - 4.0.0-0.2rc1 - 4.0.0 RC1, python2-prettytable, .../rpms/glusterfs/pull-request/3 diff --git a/sources b/sources index d42037c..a48fd64 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.0.0rc1.tar.gz) = afba232d8d4c7ce3932f64463bd41d902c97dea48bd6b2fc6dd52d2e35d69233adbada2e564f91752e25370d92e4a6de74bc3f6883a9133dfed8545d57ff0a06 +SHA512 (glusterfs-4.0.0.tar.gz) = acd3c462a8e15fb31f4b30d2e217928488e32d66ae7d1061df3e166354a4ddcdeb0ba0bcc994b7563f83376c882800fad07e190e0086fda987915c195266421f From 97c4e2fb0440d34dde2bffcf6338d8b04cd023fb Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 12 Mar 2018 07:31:40 -0400 Subject: [PATCH 015/160] 4.0.0 GA (v4.0.0-2) Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index ec19e4b..9f62e55 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -222,7 +222,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.0.0 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -406,7 +406,7 @@ This package provides the development libraries and include files. %package events Summary: GlusterFS Events Requires: %{name}-server%{?_isa} = %{version}-%{release} -Requires: python2 python2-prettytable +Requires: python2 python-prettytable Requires: python2-gluster = %{version}-%{release} %if ( 0%{?rhel} ) Requires: python-requests @@ -484,7 +484,7 @@ Summary: GlusterFS Geo-replication Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: python2 -Requires: python2-prettytable +Requires: python-prettytable %if ( 0%{?rhel} && 0%{?rhel} <= 7 ) BuildRequires: python-ctypes %endif @@ -1450,6 +1450,9 @@ exit 0 %endif %changelog +* Tue Mar 6 2018 Kaleb S. KEITHLEY - 4.0.0-2 +- 4.0.0 GA (v4.0.0-2) + * Tue Mar 6 2018 Kaleb S. KEITHLEY - 4.0.0-1 - 4.0.0 GA diff --git a/sources b/sources index a48fd64..0472c10 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.0.0.tar.gz) = acd3c462a8e15fb31f4b30d2e217928488e32d66ae7d1061df3e166354a4ddcdeb0ba0bcc994b7563f83376c882800fad07e190e0086fda987915c195266421f +SHA512 (glusterfs-4.0.0.tar.gz) = fca4020fb0e3fd7dbabb7b6e6ec270157a7a577941a73bf213770ba2f12a30e281e2a08d796c3a3e101fbef5f6f1958cf12e0696c7dd90d826fbd4d281d9afe4 From 476b98d21e98d9a1491498fc1591e82d67d6a8c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Tue, 20 Mar 2018 14:19:57 +0100 Subject: [PATCH 016/160] all platform provide the RDMA stack --- glusterfs.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 9f62e55..62e2887 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -83,11 +83,6 @@ # 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 %{arm} -%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 From 9ab8bcb85ec3d1be38df15f9bcf3d9dfd3d94043 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 21 Mar 2018 11:21:14 -0400 Subject: [PATCH 017/160] 4.0.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 62e2887..f7a0a6c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -216,7 +216,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.0.0 +Version: 4.0.1 Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1445,8 +1445,11 @@ exit 0 %endif %changelog +* Wed Mar 21 2018 Kaleb S. KEITHLEY - 4.0.1-1 +- 4.0.1 GA + * Tue Mar 6 2018 Kaleb S. KEITHLEY - 4.0.0-2 -- 4.0.0 GA (v4.0.0-2) +- 4.0.0 GA (v4.0.0-2 respin) * Tue Mar 6 2018 Kaleb S. KEITHLEY - 4.0.0-1 - 4.0.0 GA diff --git a/sources b/sources index 0472c10..23d2fb1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.0.0.tar.gz) = fca4020fb0e3fd7dbabb7b6e6ec270157a7a577941a73bf213770ba2f12a30e281e2a08d796c3a3e101fbef5f6f1958cf12e0696c7dd90d826fbd4d281d9afe4 +SHA512 (glusterfs-4.0.1.tar.gz) = 1eb2d088ab9235866054ce05a9195ddfc8e961ec062aa03bddfbd9b3dc47867d7e0759e08bc95d4eec482920bef40ac7e380f930659fb5be6c5fac196e7c7ec9 From df17b7b7d0c7055d25bee58fe5d8017c9bb24267 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 19 Apr 2018 15:27:23 -0400 Subject: [PATCH 018/160] 4.0.1, restore python->python2 -prettytable Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index f7a0a6c..ada4ca7 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -217,7 +217,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.0.1 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -401,7 +401,8 @@ This package provides the development libraries and include files. %package events Summary: GlusterFS Events Requires: %{name}-server%{?_isa} = %{version}-%{release} -Requires: python2 python-prettytable +Requires: python2 +Requires: python2-prettytable Requires: python2-gluster = %{version}-%{release} %if ( 0%{?rhel} ) Requires: python-requests @@ -479,7 +480,7 @@ Summary: GlusterFS Geo-replication Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: python2 -Requires: python-prettytable +Requires: python2-prettytable %if ( 0%{?rhel} && 0%{?rhel} <= 7 ) BuildRequires: python-ctypes %endif @@ -1445,9 +1446,15 @@ exit 0 %endif %changelog -* Wed Mar 21 2018 Kaleb S. KEITHLEY - 4.0.1-1 +* Thu Apr 19 2018 Kaleb S. KEITHLEY - 4.0.1-3 +- 4.0.1, restore python->python2 -prettytable + +* Wed Mar 21 2018 Kaleb S. KEITHLEY - 4.0.1-2 - 4.0.1 GA +* Wed Mar 21 2018 Kaleb S. KEITHLEY - 4.0.1-1 +- (skipped by accident) + * Tue Mar 6 2018 Kaleb S. KEITHLEY - 4.0.0-2 - 4.0.0 GA (v4.0.0-2 respin) From e114b0a9d22266706282eb11590c68d1a80fcf59 Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Tue, 24 Apr 2018 17:01:22 +0200 Subject: [PATCH 019/160] 4.0.2 GA Signed-off-by: Niels de Vos --- glusterfs.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index ada4ca7..8e6e6f7 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -216,8 +216,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.0.1 -Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist} +Version: 4.0.2 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1446,6 +1446,9 @@ exit 0 %endif %changelog +* Tue Apr 24 2018 Niels de Vos - 4.0.2-1 +- 4.0.2 GA + * Thu Apr 19 2018 Kaleb S. KEITHLEY - 4.0.1-3 - 4.0.1, restore python->python2 -prettytable diff --git a/sources b/sources index 23d2fb1..7ac1e3e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.0.1.tar.gz) = 1eb2d088ab9235866054ce05a9195ddfc8e961ec062aa03bddfbd9b3dc47867d7e0759e08bc95d4eec482920bef40ac7e380f930659fb5be6c5fac196e7c7ec9 +SHA512 (glusterfs-4.0.2.tar.gz) = 33afed4fb4f6d63f1d2b7caedae1ce41e7f6aa4299fb4a7ee2f5e4bc14c97d66f68097171fded6d1f2141dd7127eb408596cce4f5f7287038a14e387ad5ec5e6 From f0511a2a179dfe2e03aa622b23fe9781e1882ef0 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Tue, 13 Feb 2018 23:26:43 +0100 Subject: [PATCH 020/160] Remove BuildRoot definition None of currently supported distributions need that. It was needed last for EL5 which is EOL now Signed-off-by: Igor Gnatenko --- glusterfs.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 8e6e6f7..d36a2d9 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -236,7 +236,6 @@ Source8: glusterfsd.init Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz %endif -BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Requires(pre): shadow-utils %if ( 0%{?rhel} && 0%{?rhel} < 6 ) From e99c7abbb9c67cb73e496014a0b1d00e17408a94 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Wed, 14 Feb 2018 07:13:56 +0100 Subject: [PATCH 021/160] Remove %clean section None of currently supported distributions need that. Last one was EL5 which is EOL for a while. Signed-off-by: Igor Gnatenko --- glusterfs.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index d36a2d9..d94d0ef 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -852,9 +852,6 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ %{buildroot}%{_sysconfdir}/bash_completion.d/gluster %endif -%clean -rm -rf %{buildroot} - ##----------------------------------------------------------------------------- ## All %%post should be placed here and keep them sorted ## From 76e44828a59e25341f6e211c8fdc8c5734b346d2 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 12 Jun 2018 13:36:06 -0400 Subject: [PATCH 022/160] 4.1.0 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 56 ++++++++++++++++++++++++++------------------------ sources | 2 +- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index d94d0ef..394155b 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -3,7 +3,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 @@ -69,7 +69,7 @@ # Do not use libtirpc on EL6, it does not have xdr_uint64_t() and xdr_uint32_t # Do not use libtirpc on EL7, it does not have xdr_sizeof() -%if ( 0%{?rhel} && 0%{?rhel} <= 7 ) +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) %global _without_libtirpc --without-libtirpc %endif @@ -78,7 +78,7 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ocf %{?_without_ocf:%global _without_ocf --without-ocf} -#rdma +# 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} @@ -89,7 +89,7 @@ %{?_without_server:%global _without_server --without-server} # disable server components forcefully as rhel <= 6 -%if ( 0%{?rhel} && 0%{?rhel} <= 6 ) +%if ( 0%{?rhel} && 0%{?rhel} < 7 ) %global _without_server --without-server %endif @@ -102,7 +102,7 @@ # Fedora deprecated syslog, see # https://fedoraproject.org/wiki/Changes/NoDefaultSyslog # (And what about RHEL7?) -%if ( ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) ) +%if ( ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} < 7 ) ) %global _without_syslog --disable-syslog %endif @@ -216,7 +216,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.0.2 +Version: 4.1.0 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -226,7 +226,7 @@ Release: 0.@PACKAGE_RELEASE@%{?dist}.5 License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) -Source0: http://download.gluster.org/pub/gluster/%{name}/4.0/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz +Source0: http://download.gluster.org/pub/gluster/%{name}/4.1/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source6: rhel5-load-fuse-modules @@ -239,7 +239,7 @@ Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz Requires(pre): shadow-utils %if ( 0%{?rhel} && 0%{?rhel} < 6 ) -BuildRequires: python-simplejson +BuildRequires: python2-simplejson %endif %if ( 0%{?_with_systemd:1} ) BuildRequires: systemd @@ -255,10 +255,10 @@ BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel BuildRequires: libaio-devel libacl-devel BuildRequires: python2-devel -%if ( 0%{?rhel} && 0%{?rhel} <= 7 ) +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) BuildRequires: python-ctypes %endif -%if ( 0%{?_with_ipv6default:1} || 0%{!?_without_libtirpc:1} ) +%if ( ( 0%{?_with_ipv6default:1} ) || ( 0%{!?_without_libtirpc:1} ) ) BuildRequires: libtirpc-devel %endif %if ( 0%{?fedora} && 0%{?fedora} > 27 ) @@ -433,9 +433,6 @@ Summary: Extra Gluster filesystem Translators # site-packages area Requires: python2-gluster = %{version}-%{release} Requires: python2 -%if ( 0%{?rhel} && 0%{?rhel} <= 7 ) -BuildRequires: python-ctypes -%endif %description extra-xlators GlusterFS is a distributed file-system capable of scaling to several @@ -480,9 +477,6 @@ Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: python2 Requires: python2-prettytable -%if ( 0%{?rhel} && 0%{?rhel} <= 7 ) -BuildRequires: python-ctypes -%endif Requires: python2-gluster = %{version}-%{release} Requires: rsync @@ -658,7 +652,7 @@ Requires(postun): /sbin/service Requires: firewalld-filesystem %endif %endif -%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} ) Requires: rpcbind %else Requires: portmap @@ -666,10 +660,10 @@ Requires: portmap %if ( 0%{?rhel} && 0%{?rhel} < 6 ) Obsoletes: %{name}-geo-replication = %{version}-%{release} %endif -%if ( 0%{?rhel} && 0%{?rhel} <= 6 ) +%if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse %endif -%if ( 0%{?fedora} && 0%{?fedora} >= 28 ) +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) Requires: python2-pyxattr %else Requires: pyxattr @@ -715,8 +709,8 @@ sed -i -e 's/--quiet//' configure.ac %{?_without_georeplication} \ %{?_without_ocf} \ %{?_without_rdma} \ - %{?_without_syslog} \ %{?_without_server} \ + %{?_without_syslog} \ %{?_without_tiering} \ %{?_with_ipv6default} \ %{?_without_libtirpc} @@ -858,7 +852,7 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \ %post /sbin/ldconfig %if ( 0%{!?_without_syslog:1} ) -%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} ) %systemd_postun_with_restart rsyslog %endif %endif @@ -964,7 +958,7 @@ fi exit 0 %endif - ##----------------------------------------------------------------------------- +##----------------------------------------------------------------------------- ## All %%pre should be placed here and keep them sorted ## %pre @@ -1013,7 +1007,7 @@ exit 0 %postun /sbin/ldconfig %if ( 0%{!?_without_syslog:1} ) -%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) +%if ( 0%{?fedora} ) || ( 0%{?rhel} ) %systemd_postun_with_restart rsyslog %endif %endif @@ -1082,11 +1076,14 @@ exit 0 %{_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 @@ -1179,9 +1176,6 @@ exit 0 %{_bindir}/fusermount-glusterfs %endif %if ( 0%{_for_fedora_koji_builds} ) -%if ( 0%{?rhel} && 0%{?rhel} <= 5 ) -%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules -%endif %endif %if ( 0%{?_with_gnfs:1} && 0%{!?_without_server:1} ) @@ -1308,6 +1302,7 @@ 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 @@ -1357,8 +1352,9 @@ 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/pre/S28Quota-enable-root-xattr-heal.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 %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post/S10selinux-label-brick.sh @@ -1442,6 +1438,12 @@ exit 0 %endif %changelog +* Tue Jun 12 2018 Kaleb S. KEITHLEY - 4.1.0-1 +- 4.1.0 GA + +* Fri Jun 1 2018 Kaleb S. KEITHLEY - 4.1.0rc0 +- 4.1.0 RC0 + * Tue Apr 24 2018 Niels de Vos - 4.0.2-1 - 4.0.2 GA diff --git a/sources b/sources index 7ac1e3e..749100b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.0.2.tar.gz) = 33afed4fb4f6d63f1d2b7caedae1ce41e7f6aa4299fb4a7ee2f5e4bc14c97d66f68097171fded6d1f2141dd7127eb408596cce4f5f7287038a14e387ad5ec5e6 +SHA512 (glusterfs-4.1.0.tar.gz) = 4cb84c93dfff7e533fb135f4e0631dd3c7dfb513c1b9ff4f1a23ed92acc1d839965d10b54cf71dbe1a756b09d89f80d6bfb8226956b01438149421102c902e0e From b9d82b8a449bc3f847bfdd908781eb29263f4ee7 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 25 Jun 2018 23:46:02 -0400 Subject: [PATCH 023/160] 4.1.0 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 394155b..0518b1c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -216,7 +216,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.1.0 +Version: 4.1.1 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1438,6 +1438,9 @@ exit 0 %endif %changelog +* Tue Jun 26 2018 Kaleb S. KEITHLEY - 4.1.1-1 +- 4.1.0 GA + * Tue Jun 12 2018 Kaleb S. KEITHLEY - 4.1.0-1 - 4.1.0 GA diff --git a/sources b/sources index 749100b..16b4d54 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.1.0.tar.gz) = 4cb84c93dfff7e533fb135f4e0631dd3c7dfb513c1b9ff4f1a23ed92acc1d839965d10b54cf71dbe1a756b09d89f80d6bfb8226956b01438149421102c902e0e +SHA512 (glusterfs-4.1.1.tar.gz) = 86dc4572b1fa6fb3b773f252fae6dcfc07b9f617759aa0b0288b59addca956a035451e99ed3671d7f72a385eb6a55df539062f529e2a60771f5e6f7cbe6e2856 From b05ab73fc93df54d219a8e5fae0cfd8a2a60dd11 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 11 Jul 2018 09:57:26 -0400 Subject: [PATCH 024/160] missed python->python2 in shebang Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 9 +++++++-- python.patch | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 python.patch diff --git a/glusterfs.spec b/glusterfs.spec index 0518b1c..8d44015 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -217,7 +217,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.1.1 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -227,6 +227,7 @@ License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) Source0: http://download.gluster.org/pub/gluster/%{name}/4.1/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz +Patch0: python.patch Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source6: rhel5-load-fuse-modules @@ -687,6 +688,7 @@ This package provides the glusterfs server daemon. %prep %setup -q -n %{name}-%{version}%{?prereltag} +%patch0 -p1 %build %if ( 0%{?rhel} && 0%{?rhel} < 6 ) @@ -1438,8 +1440,11 @@ exit 0 %endif %changelog +* Wed Jul 11 2018 Kaleb S. KEITHLEY - 4.1.1-2 +- missed python->python2 in shebang + * Tue Jun 26 2018 Kaleb S. KEITHLEY - 4.1.1-1 -- 4.1.0 GA +- 4.1.1 GA * Tue Jun 12 2018 Kaleb S. KEITHLEY - 4.1.0-1 - 4.1.0 GA diff --git a/python.patch b/python.patch new file mode 100644 index 0000000..b8d8730 --- /dev/null +++ b/python.patch @@ -0,0 +1,32 @@ +--- 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 From 05c09e5c263303bdf094a81492bc6a505989c675 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 13 Jul 2018 02:45:55 +0000 Subject: [PATCH 025/160] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_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 8d44015..2aef96d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -217,11 +217,11 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.1.1 -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}.5 +Release: 0.@PACKAGE_RELEASE@%{?dist}.6 %endif License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ @@ -1440,6 +1440,9 @@ exit 0 %endif %changelog +* Fri Jul 13 2018 Fedora Release Engineering - 4.1.1-2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed Jul 11 2018 Kaleb S. KEITHLEY - 4.1.1-2 - missed python->python2 in shebang From 139ee9d390beb37a3bcc59589f4b6599bb62cfb1 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 24 Jul 2018 09:57:02 -0400 Subject: [PATCH 026/160] 4.1.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 2aef96d..f982ab3 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -216,8 +216,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.1.1 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist}.1 +Version: 4.1.2 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist}.1 %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1440,6 +1440,9 @@ exit 0 %endif %changelog +* Tue Jul 24 2018 Kaleb S. KEITHLEY - 4.1.2-1 +- 4.1.2 GA + * Fri Jul 13 2018 Fedora Release Engineering - 4.1.1-2.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 16b4d54..2f0205e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.1.1.tar.gz) = 86dc4572b1fa6fb3b773f252fae6dcfc07b9f617759aa0b0288b59addca956a035451e99ed3671d7f72a385eb6a55df539062f529e2a60771f5e6f7cbe6e2856 +SHA512 (glusterfs-4.1.2.tar.gz) = 1db46edd78a72c928f617ad31aa70d84e3bce9498273df3ff1021b1308fb99f02cb99d518fbe2d8e6c19956d03411b13b88b6f2b2cf23d9accdf8c486fe4db0b From bf7716b0cc880811028f1a792f9f3de776e59053 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 24 Jul 2018 15:31:42 -0400 Subject: [PATCH 027/160] 4.1.2, gsyncd.conf /usr/local/sbin Signed-off-by: Kaleb S. KEITHLEY --- ...x-hard-coded-paths-in-gsyncd.conf.in.patch | 38 +++++++++++++++++++ glusterfs.spec | 7 +++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch diff --git a/0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch b/0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch new file mode 100644 index 0000000..c2229f1 --- /dev/null +++ b/0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch @@ -0,0 +1,38 @@ +From a0a0afc59bb1d2deddfdb776bc9e49e02f58ce32 Mon Sep 17 00:00:00 2001 +From: "Kaleb S. KEITHLEY" +Date: Tue, 24 Jul 2018 14:40:51 -0400 +Subject: [PATCH] georep: fix hard-coded paths in gsyncd.conf.in + +Why anyone puts a hard-coded path like /usr/local/sbin in a +config file is beyond me. + +I wonder how many more are lurking in our sources + +Change-Id: I6523894416cc06236ea1f99529efd36e957bd98e +updates: bz#1193929 +Signed-off-by: Kaleb S. KEITHLEY +--- + geo-replication/gsyncd.conf.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/geo-replication/gsyncd.conf.in b/geo-replication/gsyncd.conf.in +index 0a842cf2b..bd04400ff 100644 +--- a/geo-replication/gsyncd.conf.in ++++ b/geo-replication/gsyncd.conf.in +@@ -138,11 +138,11 @@ value = + help=If SSH keys are not secured with gsyncd prefix then use this configuration to set the actual path of gsyncd(Usually /usr/libexec/glusterfs/gsyncd) + + [gluster-command-dir] +-value=/usr/local/sbin/ ++value=@SBIN_DIR@ + help=Directory where Gluster binaries exist on master + + [slave-gluster-command-dir] +-value=/usr/local/sbin/ ++value=@SBIN_DIR@ + help=Directory where Gluster binaries exist on slave + + [gluster-params] +-- +2.17.1 + diff --git a/glusterfs.spec b/glusterfs.spec index f982ab3..02a4c2f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -217,7 +217,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.1.2 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist}.1 +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist}.1 %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -228,6 +228,7 @@ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) Source0: http://download.gluster.org/pub/gluster/%{name}/4.1/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz Patch0: python.patch +Patch1: 0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source6: rhel5-load-fuse-modules @@ -689,6 +690,7 @@ This package provides the glusterfs server daemon. %prep %setup -q -n %{name}-%{version}%{?prereltag} %patch0 -p1 +%patch1 -p1 %build %if ( 0%{?rhel} && 0%{?rhel} < 6 ) @@ -1440,6 +1442,9 @@ exit 0 %endif %changelog +* Tue Jul 24 2018 Kaleb S. KEITHLEY - 4.1.2-2 +- 4.1.2, gsyncd.conf /usr/local/sbin + * Tue Jul 24 2018 Kaleb S. KEITHLEY - 4.1.2-1 - 4.1.2 GA From 6727d5244ddd423cd9bf931ad176db5f701a8a81 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 25 Jul 2018 10:32:55 -0400 Subject: [PATCH 028/160] 4.1.2, 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 02a4c2f..69306cc 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -217,7 +217,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.1.2 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist}.1 +Release: %{?prereltag:1.}3%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1442,6 +1442,9 @@ exit 0 %endif %changelog +* Wed Jul 26 2018 Kaleb S. KEITHLEY - 4.1.2-3 +- 4.1.2, again + * Tue Jul 24 2018 Kaleb S. KEITHLEY - 4.1.2-2 - 4.1.2, gsyncd.conf /usr/local/sbin From f1c3e1ab5f32436ad9b205c29a53e4683cced6bb Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 27 Aug 2018 09:46:20 -0400 Subject: [PATCH 029/160] 4.1.3 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 10 +++++++--- sources | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 69306cc..0f3ee7e 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -146,6 +146,7 @@ %global _without_georeplication --disable-georeplication %global _with_gnfs %{nil} %global _without_tiering --disable-tiering +%global _without_ocf --without-ocf %endif # From https://fedoraproject.org/wiki/Packaging:Python#Macros @@ -216,8 +217,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.1.2 -Release: %{?prereltag:1.}3%{?prereltag:.%{prereltag}}%{?dist} +Version: 4.1.3 +Release: %{?prereltag:1.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1442,7 +1443,10 @@ exit 0 %endif %changelog -* Wed Jul 26 2018 Kaleb S. KEITHLEY - 4.1.2-3 +* Mon Aug 27 2018 Kaleb S. KEITHLEY - 4.1.3-1 +- 4.1.3 GA + +* Wed Jul 25 2018 Kaleb S. KEITHLEY - 4.1.2-3 - 4.1.2, again * Tue Jul 24 2018 Kaleb S. KEITHLEY - 4.1.2-2 diff --git a/sources b/sources index 2f0205e..eeb3e1a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.1.2.tar.gz) = 1db46edd78a72c928f617ad31aa70d84e3bce9498273df3ff1021b1308fb99f02cb99d518fbe2d8e6c19956d03411b13b88b6f2b2cf23d9accdf8c486fe4db0b +SHA512 (glusterfs-4.1.3.tar.gz) = 5da28a8680c5ff6b1785ff92b630a489fa73e0a3068041ec9b259a3ea536f0c3847a8892c0e5abc166b5179ddca4058affbbd46494558b23922c512fc2fefd12 From a7dfa968c6c921538237283f06652e68381bcc8c Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 4 Sep 2018 07:04:30 -0400 Subject: [PATCH 030/160] --with-ipv6-default 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 0f3ee7e..80cfcc2 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -60,7 +60,7 @@ # ipv6default # if you wish to compile an rpm with IPv6 default... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with ipv6default -%{?_with_ipv6default:%global _with_ipv6default --with-ipv6default} +%{?_with_ipv6default:%global _with_ipv6default --with-ipv6-default} # libtirpc # if you wish to compile an rpm without TIRPC (i.e. use legacy glibc rpc) @@ -1443,6 +1443,9 @@ exit 0 %endif %changelog +* Tue Sep 4 2018 Kaleb S. KEITHLEY +- --with-ipv6-default + * Mon Aug 27 2018 Kaleb S. KEITHLEY - 4.1.3-1 - 4.1.3 GA From 85ce4a1da668828babca9a1d1e3d2f8281709fbb Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 4 Sep 2018 07:16:16 -0400 Subject: [PATCH 031/160] missing /run/gluster/metrics, see bz#1624006 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 80cfcc2..7ee1995 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -218,7 +218,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 4.1.3 -Release: %{?prereltag:1.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -760,7 +760,7 @@ install -D -p -m 0755 %{SOURCE6} \ mkdir -p %{buildroot}%{_localstatedir}/log/glusterd mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd -mkdir -p %{buildroot}%{_rundir}/gluster +mkdir -p %{buildroot}%{_rundir}/gluster/metrics # Remove unwanted files from all the shared libraries find %{buildroot}%{_libdir} -name '*.a' -delete @@ -1104,6 +1104,7 @@ exit 0 %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} %{_tmpfilesdir}/gluster.conf %endif @@ -1443,8 +1444,11 @@ exit 0 %endif %changelog +* Tue Sep 4 2018 Kaleb S. KEITHLEY - 4.1.3-2 +- missing /run/gluster/metrics, see bz#1624006 + * Tue Sep 4 2018 Kaleb S. KEITHLEY -- --with-ipv6-default +- --with-ipv6-default bz#1614769 * Mon Aug 27 2018 Kaleb S. KEITHLEY - 4.1.3-1 - 4.1.3 GA From 4526f13f807e59e67fa7752bc2fc9c1dac3c231b Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 6 Sep 2018 13:39:28 -0400 Subject: [PATCH 032/160] 4.1.4 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 7ee1995..2019fdc 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -217,8 +217,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.1.3 -Release: %{?prereltag:1.}2%{?prereltag:.%{prereltag}}%{?dist} +Version: 4.1.4 +Release: %{?prereltag:1.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1444,6 +1444,9 @@ exit 0 %endif %changelog +* Thu Sep 6 2018 Kaleb S. KEITHLEY - 4.1.4-1 +- 4.1.4 GA + * Tue Sep 4 2018 Kaleb S. KEITHLEY - 4.1.3-2 - missing /run/gluster/metrics, see bz#1624006 diff --git a/sources b/sources index eeb3e1a..568f205 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.1.3.tar.gz) = 5da28a8680c5ff6b1785ff92b630a489fa73e0a3068041ec9b259a3ea536f0c3847a8892c0e5abc166b5179ddca4058affbbd46494558b23922c512fc2fefd12 +SHA512 (glusterfs-4.1.4.tar.gz) = 7ef82170c9025ea74867382acc17e4fde55af82d4b04138fb74800c3fc28f018f9ec493069fd14961310dece6cb386973fb07e00d5cad59a9aaf6020155cba56 From 68233240eb20d0555f99c7ee119c9c15c7a4d8bb Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 18 Sep 2018 07:35:21 -0400 Subject: [PATCH 033/160] 5.0 RC0 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 156 +++++++++++++++++++++++++++++++------------------ sources | 2 +- 2 files changed, 101 insertions(+), 57 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 2019fdc..4c7aa3c 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -3,12 +3,21 @@ %global _for_fedora_koji_builds 1 # uncomment and add '%' to use the prereltag for pre-releases -# %%global prereltag rc0 +%global prereltag rc0 ##----------------------------------------------------------------------------- ## All argument definitions should be placed here and keep them sorted ## +# asan +# if you wish to compile an rpm with address sanitizer... +# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with asan +%{?_with_asan:%global _with_asan --enable-asan} + +%if ( 0%{?rhel} && 0%{?rhel} < 7 ) +%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 @@ -149,6 +158,14 @@ %global _without_ocf --without-ocf %endif +%if ( 0%{?fedora} && 0%{?fedora} > 26 ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) +%global _usepython3 1 +%global _pythonver 3 +%else +%global _usepython3 0 +%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())")} @@ -217,8 +234,8 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 4.1.4 -Release: %{?prereltag:1.}1%{?prereltag:.%{prereltag}}%{?dist} +Version: 5.0 +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -228,8 +245,6 @@ License: GPLv2 or LGPLv3+ URL: http://docs.gluster.org/ %if ( 0%{_for_fedora_koji_builds} ) Source0: http://download.gluster.org/pub/gluster/%{name}/4.1/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz -Patch0: python.patch -Patch1: 0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig Source6: rhel5-load-fuse-modules @@ -241,9 +256,6 @@ Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz Requires(pre): shadow-utils -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -BuildRequires: python2-simplejson -%endif %if ( 0%{?_with_systemd:1} ) BuildRequires: systemd %endif @@ -252,12 +264,15 @@ Requires: %{name}-libs = %{version}-%{release} %if ( 0%{?_with_systemd:1} ) %{?systemd_requires} %endif +%if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 ) +BuildRequires: libasan +%endif BuildRequires: bison flex BuildRequires: gcc make libtool BuildRequires: ncurses-devel readline-devel BuildRequires: libxml2-devel openssl-devel BuildRequires: libaio-devel libacl-devel -BuildRequires: python2-devel +BuildRequires: python%{_pythonver}-devel %if ( 0%{?rhel} && 0%{?rhel} < 8 ) BuildRequires: python-ctypes %endif @@ -403,13 +418,13 @@ This package provides the development libraries and include files. %package events Summary: GlusterFS Events Requires: %{name}-server%{?_isa} = %{version}-%{release} -Requires: python2 -Requires: python2-prettytable -Requires: python2-gluster = %{version}-%{release} +Requires: python%{_python_ver} +Requires: python%{_python_ver}-prettytable +Requires: python%{_python_ver}-gluster = %{version}-%{release} %if ( 0%{?rhel} ) Requires: python-requests %else -Requires: python2-requests +Requires: python%{_python_ver}-requests %endif %if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse @@ -434,8 +449,8 @@ This package provides the GlusterFS Events Summary: Extra Gluster filesystem Translators # We need python2-gluster rpm for gluster module's __init__.py in Python # site-packages area -Requires: python2-gluster = %{version}-%{release} -Requires: python2 +Requires: python%{_python_ver}-gluster = %{version}-%{release} +Requires: python%{_python_ver} %description extra-xlators GlusterFS is a distributed file-system capable of scaling to several @@ -473,14 +488,29 @@ 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 Requires: %{name} = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} -Requires: python2 -Requires: python2-prettytable -Requires: python2-gluster = %{version}-%{release} +Requires: python%{_pythonver} +Requires: python%{_pythonver}-prettytable +Requires: python%{_pythonver}-gluster = %{version}-%{release} Requires: rsync %description geo-replication @@ -528,35 +558,26 @@ is in user space and easily manageable. This package provides the base GlusterFS libraries -%package -n python-gluster +%package -n python%{_pythonver}-gluster Summary: GlusterFS python library -%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) ) -# EL5 does not support noarch sub-packages -BuildArch: noarch -%endif - -%global _python_gluster_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.\ -\ -This package contains the python modules of GlusterFS and own gluster\ -namespace. - -%description -n python-gluster %{_python_gluster_description} - -%package -n python2-gluster -Summary: GlusterFS python library -%{?python_provide:%python_provide python2-gluster} -Requires: python2 +Requires: python%{_pythonver} +%if ( ! %{_usepython3} ) +%{?python_provide:%python_provide python-gluster} Provides: python-gluster = %{version}-%{release} Obsoletes: python-gluster < 3.10 +%endif -%description -n python2-gluster %{_python_gluster_description} +%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. + +This package contains the python modules of GlusterFS and own gluster +namespace. %if ( 0%{!?_without_rdma:1} ) %package rdma @@ -590,7 +611,7 @@ Requires: %{name}-server = %{version}-%{release} ## thin provisioning support Requires: lvm2 >= 2.02.89 Requires: perl(App::Prove) perl(Test::Harness) gcc util-linux-ng -Requires: python2 attr dbench file git libacl-devel net-tools +Requires: python%{_pythonver} attr dbench file git libacl-devel net-tools Requires: nfs-utils xfsprogs yajl psmisc bc %description regression-tests @@ -666,8 +687,8 @@ Obsoletes: %{name}-geo-replication = %{version}-%{release} %if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse %endif -%if ( 0%{?fedora} && 0%{?fedora} > 27 ) -Requires: python2-pyxattr +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) +Requires: python%{_pythonver}-pyxattr %else Requires: pyxattr %endif @@ -690,8 +711,6 @@ This package provides the glusterfs server daemon. %prep %setup -q -n %{name}-%{version}%{?prereltag} -%patch0 -p1 -%patch1 -p1 %build %if ( 0%{?rhel} && 0%{?rhel} < 6 ) @@ -701,6 +720,7 @@ export CFLAGS sed -i -e 's/--quiet//' configure.ac ./autogen.sh && %configure \ + %{?_with_asan} \ %{?_with_cmocka} \ %{?_with_debug} \ %{?_with_firewalld} \ @@ -735,9 +755,6 @@ make check %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} -# Install include directory -install -p -m 0644 contrib/uuid/*.h \ - %{buildroot}%{_includedir}/glusterfs/ %if ( 0%{_for_fedora_koji_builds} ) install -D -p -m 0644 %{SOURCE1} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd @@ -1041,7 +1058,7 @@ exit 0 %files %{!?_licensedir:%global license %%doc} %license COPYING-GPLV2 COPYING-LGPLV3 -%doc ChangeLog INSTALL README.md THANKS +%doc ChangeLog INSTALL README.md THANKS COMMITMENT %if ( 0%{!?_without_server:1} ) %{_mandir}/man8/*gluster*.8* %endif @@ -1136,7 +1153,6 @@ exit 0 %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so - %files devel %dir %{_includedir}/glusterfs %{_includedir}/glusterfs/* @@ -1159,16 +1175,28 @@ exit 0 %{_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/features - %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/features/template.so %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. @@ -1184,6 +1212,10 @@ exit 0 %if ( 0%{_for_fedora_koji_builds} ) %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 @@ -1241,12 +1273,18 @@ exit 0 %exclude %{_libdir}/libgfdb.* %endif -%files -n python2-gluster +%files -n python%{_pythonver}-gluster # introducing glusterfs module in site packages. # 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/cliutils +%else %dir %{python2_sitelib}/gluster %{python2_sitelib}/gluster/__init__.* %{python2_sitelib}/gluster/cliutils +%endif %if ( 0%{!?_without_rdma:1} ) %files rdma @@ -1350,6 +1388,7 @@ exit 0 %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/metadata-cache %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/gluster-block %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/nl-cache + %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/db-workload %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd @@ -1421,6 +1460,8 @@ exit 0 %if ( 0%{?_with_firewalld:1} ) %{_prefix}/lib/firewalld/services/glusterfs.xml %endif + +# end of server files %endif # Events @@ -1444,6 +1485,9 @@ exit 0 %endif %changelog +* Tue Sep 18 2018 Kaleb S. KEITHLEY - 5.0rc0-0.1 +- 5.0 RC0 + * Thu Sep 6 2018 Kaleb S. KEITHLEY - 4.1.4-1 - 4.1.4 GA diff --git a/sources b/sources index 568f205..9af4727 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-4.1.4.tar.gz) = 7ef82170c9025ea74867382acc17e4fde55af82d4b04138fb74800c3fc28f018f9ec493069fd14961310dece6cb386973fb07e00d5cad59a9aaf6020155cba56 +SHA512 (glusterfs-5.0rc0.tar.gz) = 70e7cc94885b3646f4f995eb6cfe4e589c7b18473471375e6f4ebb279d784a0b155cd5e440cd928d5482e80f131d63149b1e01fad5629b103ad99c8dd2c7f83e From f014efdf53a67ec59ea4cd88dace8c68e1b9f39c Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 20 Sep 2018 09:35:23 -0400 Subject: [PATCH 034/160] 5.0 RC0 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 4c7aa3c..947cc05 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -62,10 +62,6 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with gnfs %{?_with_gnfs:%global _with_gnfs --enable-gnfs} -%if ( 0%{_for_fedora_koji_builds} ) -%global _with_gnfs --enable-gnfs -%endif - # ipv6default # if you wish to compile an rpm with IPv6 default... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with ipv6default @@ -235,7 +231,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.0 -Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -418,13 +414,13 @@ This package provides the development libraries and include files. %package events Summary: GlusterFS Events Requires: %{name}-server%{?_isa} = %{version}-%{release} -Requires: python%{_python_ver} -Requires: python%{_python_ver}-prettytable -Requires: python%{_python_ver}-gluster = %{version}-%{release} +Requires: python%{_pythonver} +Requires: python%{_pythonver}-prettytable +Requires: python%{_pythonver}-gluster = %{version}-%{release} %if ( 0%{?rhel} ) Requires: python-requests %else -Requires: python%{_python_ver}-requests +Requires: python%{_pythonver}-requests %endif %if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse @@ -449,8 +445,8 @@ This package provides the GlusterFS Events Summary: Extra Gluster filesystem Translators # We need python2-gluster rpm for gluster module's __init__.py in Python # site-packages area -Requires: python%{_python_ver}-gluster = %{version}-%{release} -Requires: python%{_python_ver} +Requires: python%{_pythonver}-gluster = %{version}-%{release} +Requires: python%{_pythonver} %description extra-xlators GlusterFS is a distributed file-system capable of scaling to several @@ -756,10 +752,12 @@ make check rm -rf %{buildroot} make install DESTDIR=%{buildroot} %if ( 0%{_for_fedora_koji_builds} ) +%if ( 0%{!?_without_server:1} ) install -D -p -m 0644 %{SOURCE1} \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd 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 \ @@ -822,9 +820,11 @@ sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sha %endif # Install glusterfsd .service or init.d file +%if ( 0%{!?_without_server:1} ) %if ( 0%{_for_fedora_koji_builds} ) %service_install glusterfsd %{glusterfsd_svcfile} %endif +%endif install -D -p -m 0644 extras/glusterfs-logrotate \ %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs @@ -1059,10 +1059,10 @@ exit 0 %{!?_licensedir:%global license %%doc} %license COPYING-GPLV2 COPYING-LGPLV3 %doc ChangeLog INSTALL README.md THANKS COMMITMENT -%if ( 0%{!?_without_server:1} ) %{_mandir}/man8/*gluster*.8* -%endif +%if ( 0%{!?_without_server:1} ) %exclude %{_mandir}/man8/gluster.8* +%endif %dir %{_localstatedir}/log/glusterfs %if ( 0%{!?_without_rdma:1} ) %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* @@ -1485,6 +1485,9 @@ exit 0 %endif %changelog +* Thu Sep 20 2018 Kaleb S. KEITHLEY - 5.0rc0-0.2 +- 5.0 RC0 + * Tue Sep 18 2018 Kaleb S. KEITHLEY - 5.0rc0-0.1 - 5.0 RC0 From 7c1761e92ee4ed35fc12d8d64e3f33f827765c68 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 25 Sep 2018 06:52:26 -0400 Subject: [PATCH 035/160] 5.0 RC0, unbork python shebangs Signed-off-by: Kaleb S. KEITHLEY --- 0001-configure.ac.patch | 42 +++++++++++++++++++ ...x-hard-coded-paths-in-gsyncd.conf.in.patch | 38 ----------------- glusterfs.spec | 12 +++++- 3 files changed, 53 insertions(+), 39 deletions(-) create mode 100644 0001-configure.ac.patch delete mode 100644 0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch diff --git a/0001-configure.ac.patch b/0001-configure.ac.patch new file mode 100644 index 0000000..55733ad --- /dev/null +++ b/0001-configure.ac.patch @@ -0,0 +1,42 @@ +--- glusterfs-5.0rc0/configure.ac.orig 2018-09-24 12:44:51.547254900 -0400 ++++ glusterfs-5.0rc0/configure.ac 2018-09-24 12:55:49.464254900 -0400 +@@ -629,12 +629,14 @@ + *) + if test -x /usr/bin/python3; then + PYTHON=/usr/bin/python3 +- else ++ fi ++ if test -x /usr/bin/python2; then + PYTHON=/usr/bin/python2 + fi + ;; + esac + fi ++ + AM_PATH_PYTHON([2.6],,[:]) + if test -n "${PYTHON}"; then + have_python=yes +@@ -1688,13 +1690,16 @@ + + pushd $(dirname $0) &> /dev/null + if test ! -e python-shebangs; then +- touch python-shebangs +- if test "x${PYTHON}" = "x/usr/bin/python2"; then +- echo "fixing python shebangs..." +- for f in api events extras geo-replication libglusterfs tests tools xlators; do +- find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \; +- done +- echo "...done" ++ dnl koji's mock buildSRPMFromSCM subtask run's configure, with ++ if test -n "${PYTHON}"; then ++ touch python-shebangs ++ if test "x${PYTHON}" = "x/usr/bin/python2"; then ++ echo "fixing python shebangs..." ++ for f in api events extras geo-replication libglusterfs tests tools xlators; do ++ find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \; ++ done ++ echo "...done" ++ fi + fi + fi + popd &> /dev/null diff --git a/0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch b/0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch deleted file mode 100644 index c2229f1..0000000 --- a/0001-georep-fix-hard-coded-paths-in-gsyncd.conf.in.patch +++ /dev/null @@ -1,38 +0,0 @@ -From a0a0afc59bb1d2deddfdb776bc9e49e02f58ce32 Mon Sep 17 00:00:00 2001 -From: "Kaleb S. KEITHLEY" -Date: Tue, 24 Jul 2018 14:40:51 -0400 -Subject: [PATCH] georep: fix hard-coded paths in gsyncd.conf.in - -Why anyone puts a hard-coded path like /usr/local/sbin in a -config file is beyond me. - -I wonder how many more are lurking in our sources - -Change-Id: I6523894416cc06236ea1f99529efd36e957bd98e -updates: bz#1193929 -Signed-off-by: Kaleb S. KEITHLEY ---- - geo-replication/gsyncd.conf.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/geo-replication/gsyncd.conf.in b/geo-replication/gsyncd.conf.in -index 0a842cf2b..bd04400ff 100644 ---- a/geo-replication/gsyncd.conf.in -+++ b/geo-replication/gsyncd.conf.in -@@ -138,11 +138,11 @@ value = - help=If SSH keys are not secured with gsyncd prefix then use this configuration to set the actual path of gsyncd(Usually /usr/libexec/glusterfs/gsyncd) - - [gluster-command-dir] --value=/usr/local/sbin/ -+value=@SBIN_DIR@ - help=Directory where Gluster binaries exist on master - - [slave-gluster-command-dir] --value=/usr/local/sbin/ -+value=@SBIN_DIR@ - help=Directory where Gluster binaries exist on slave - - [gluster-params] --- -2.17.1 - diff --git a/glusterfs.spec b/glusterfs.spec index 947cc05..0321b74 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -231,7 +231,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.0 -Release: %{?prereltag:0.}2%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -707,6 +707,13 @@ This package provides the glusterfs server daemon. %prep %setup -q -n %{name}-%{version}%{?prereltag} +# jenkins release(-new) job (running on CentOS 7) did `./autogen.sh; +# ./configure; make dist`, and the python shebangs were borked. +# this is a temporary work-around +echo "unborking python shebangs..." +for f in api events extras geo-replication libglusterfs tests tools xlators; do +find $f -type f -exec sed -i 's|/usr/bin/python2|/usr/bin/python3|' {} \; +done %build %if ( 0%{?rhel} && 0%{?rhel} < 6 ) @@ -1485,6 +1492,9 @@ exit 0 %endif %changelog +* Mon Sep 24 2018 Kaleb S. KEITHLEY - 5.0rc0-0.3 +- 5.0 RC0, unbork python shebangs + * Thu Sep 20 2018 Kaleb S. KEITHLEY - 5.0rc0-0.2 - 5.0 RC0 From 25c167f12a694448559d5f76ce1c1a675418e228 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 25 Sep 2018 06:55:56 -0400 Subject: [PATCH 036/160] 5.0 RC0, unbork python shebangs Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/glusterfs.spec b/glusterfs.spec index 0321b74..84b665f 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -62,6 +62,11 @@ # 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 + # ipv6default # if you wish to compile an rpm with IPv6 default... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with ipv6default From 2ff76cf9f328585943db08a083131ed4e1e93eea Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 5 Oct 2018 13:20:02 -0400 Subject: [PATCH 037/160] 5.0 RC1 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 81 +++++++++----------------------------------------- sources | 2 +- 2 files changed, 15 insertions(+), 68 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 84b665f..782870d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -3,7 +3,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 @@ -23,10 +23,6 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without bd %{?_without_bd:%global _without_bd --disable-bd-xlator} -%if ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) -%global _without_bd --disable-bd-xlator -%endif - # cmocka # if you wish to compile an rpm with cmocka unit testing... # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with cmocka @@ -52,11 +48,6 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without georeplication %{?_without_georeplication:%global _without_georeplication --disable-georeplication} -# Disable geo-replication on EL5, as its default Python is too old -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -%global _without_georeplication --disable-georeplication -%endif - # gnfs # if you wish to compile an rpm with the legacy gNFS server xlator # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --with gnfs @@ -116,12 +107,6 @@ %global _without_syslog --disable-syslog %endif -# tier -# Disable data-tiering on EL5, sqlite is too old -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -%global _without_tiering --disable-tiering -%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 @@ -145,11 +130,6 @@ %global _with_tmpfilesdir --without-tmpfilesdir %endif -# Eventing -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -%global _without_events --disable-events -%endif - # without server should also disable some server-only components %if ( 0%{?_without_server:1} ) %global _without_events --disable-events @@ -207,11 +187,6 @@ %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -# _sharedstatedir is not provided by RHEL5 -%global _sharedstatedir /var/lib -%endif - # We do not want to generate useless provides and requires for xlator # .so files to be set for glusterfs packages. # Filter all generated: @@ -236,7 +211,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.0 -Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}4%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -287,11 +262,7 @@ BuildRequires: userspace-rcu-devel >= 0.7 %if ( 0%{?rhel} && 0%{?rhel} < 7 ) BuildRequires: automake %endif -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -BuildRequires: e2fsprogs-devel -%else BuildRequires: libuuid-devel -%endif %if ( 0%{?_with_cmocka:1} ) BuildRequires: libcmocka-devel >= 1.0.1 %endif @@ -624,10 +595,6 @@ regression testing of Gluster. %package resource-agents Summary: OCF Resource Agents for GlusterFS License: GPLv3+ -%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 || 0%{?sles_version} ) ) -# EL5 does not support noarch sub-packages -BuildArch: noarch -%endif # for glusterd Requires: %{name}-server = %{version}-%{release} # depending on the distribution, we need pacemaker or resource-agents @@ -682,9 +649,6 @@ Requires: rpcbind %else Requires: portmap %endif -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -Obsoletes: %{name}-geo-replication = %{version}-%{release} -%endif %if ( 0%{?rhel} && 0%{?rhel} < 7 ) Requires: python-argparse %endif @@ -712,19 +676,14 @@ This package provides the glusterfs server daemon. %prep %setup -q -n %{name}-%{version}%{?prereltag} -# jenkins release(-new) job (running on CentOS 7) did `./autogen.sh; -# ./configure; make dist`, and the python shebangs were borked. -# this is a temporary work-around -echo "unborking python shebangs..." -for f in api events extras geo-replication libglusterfs tests tools xlators; do -find $f -type f -exec sed -i 's|/usr/bin/python2|/usr/bin/python3|' {} \; +%if ( ! %{_usepython3} ) +echo "fixing python shebangs..." +for f in api events extras geo-replication libglusterfs tools xlators; do +find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \; done +%endif %build -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -CFLAGS=-DUSE_INSECURE_OPENSSL -export CFLAGS -%endif sed -i -e 's/--quiet//' configure.ac ./autogen.sh && %configure \ @@ -755,6 +714,7 @@ 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 %{?_smp_mflags} V=1 %check @@ -777,13 +737,6 @@ install -D -p -m 0644 extras/glusterd-sysconfig \ %endif %endif -%if ( 0%{_for_fedora_koji_builds} ) -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -install -D -p -m 0755 %{SOURCE6} \ - %{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules -%endif -%endif - mkdir -p %{buildroot}%{_localstatedir}/log/glusterd mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd @@ -810,17 +763,11 @@ https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?prerelt EOM # Remove benchmarking and other unpackaged files -%if ( 0%{?rhel} && 0%{?rhel} < 6 ) -rm -rf %{buildroot}/benchmarking -rm -f %{buildroot}/glusterfs-mode.el -rm -f %{buildroot}/glusterfs.vim -%else # make install always puts these in %%{_defaultdocdir}/%%{name} so don't # use %%{_pkgdocdir}; that will be wrong on later Fedora distributions rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim -%endif %if ( 0%{!?_without_server:1} ) # Create working directory @@ -1100,11 +1047,8 @@ 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 -%if ( ! ( 0%{?rhel} && 0%{?rhel} < 6 ) ) -# RHEL-5 based distributions have a too old openssl %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/crypt.so -%endif %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/access-control.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/barrier.so @@ -1497,13 +1441,16 @@ exit 0 %endif %changelog -* Mon Sep 24 2018 Kaleb S. KEITHLEY - 5.0rc0-0.3 +* Fri Oct 5 2018 Kaleb S. KEITHLEY - 5.0-0.4.rc1 +- 5.0 RC1 + +* Mon Sep 24 2018 Kaleb S. KEITHLEY - 5.0-0.3.rc0 - 5.0 RC0, unbork python shebangs -* Thu Sep 20 2018 Kaleb S. KEITHLEY - 5.0rc0-0.2 +* Thu Sep 20 2018 Kaleb S. KEITHLEY - 5.0-0.2.rc0 - 5.0 RC0 -* Tue Sep 18 2018 Kaleb S. KEITHLEY - 5.0rc0-0.1 +* Tue Sep 18 2018 Kaleb S. KEITHLEY - 5.0-0.1.rc0 - 5.0 RC0 * Thu Sep 6 2018 Kaleb S. KEITHLEY - 4.1.4-1 diff --git a/sources b/sources index 9af4727..273e159 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-5.0rc0.tar.gz) = 70e7cc94885b3646f4f995eb6cfe4e589c7b18473471375e6f4ebb279d784a0b155cd5e440cd928d5482e80f131d63149b1e01fad5629b103ad99c8dd2c7f83e +SHA512 (glusterfs-5.0rc1.tar.gz) = 0cebb22df34a6dab9729d00d5afbfa03a4858fbd8af8db225f02997c238cc59b9b3feceaace4a2cead1a0a7ce82d01faeb55ba3afd363fab2eeae7864146ce3f From 3f1032a6fa76146b10e4f5839f3ffd7edbbb74e0 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 5 Oct 2018 14:02:04 -0400 Subject: [PATCH 038/160] 5.0 RC1 Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/glusterfs.spec b/glusterfs.spec index 782870d..46a8d02 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -211,7 +211,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.0 -Release: %{?prereltag:0.}4%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}5%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -595,6 +595,7 @@ regression testing of Gluster. %package resource-agents Summary: OCF Resource Agents for GlusterFS License: GPLv3+ +BuildArch: noarch # for glusterd Requires: %{name}-server = %{version}-%{release} # depending on the distribution, we need pacemaker or resource-agents @@ -1441,7 +1442,7 @@ exit 0 %endif %changelog -* Fri Oct 5 2018 Kaleb S. KEITHLEY - 5.0-0.4.rc1 +* Fri Oct 5 2018 Kaleb S. KEITHLEY - 5.0-0.5.rc1 - 5.0 RC1 * Mon Sep 24 2018 Kaleb S. KEITHLEY - 5.0-0.3.rc0 From 0b39dfc7f520259ded283e7adddbeef5a8aa1a02 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Sun, 14 Oct 2018 07:48:59 -0400 Subject: [PATCH 039/160] remove rhel5 fuse module Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 3 --- rhel5-load-fuse-modules | 7 ------- 2 files changed, 10 deletions(-) delete mode 100755 rhel5-load-fuse-modules diff --git a/glusterfs.spec b/glusterfs.spec index 46a8d02..4cb0f23 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -223,7 +223,6 @@ URL: http://docs.gluster.org/ Source0: http://download.gluster.org/pub/gluster/%{name}/4.1/%{version}%{?prereltag}/%{name}-%{version}%{?prereltag}.tar.gz Source1: glusterd.sysconfig Source2: glusterfsd.sysconfig -Source6: rhel5-load-fuse-modules Source7: glusterfsd.service Source8: glusterfsd.init %else @@ -1166,8 +1165,6 @@ exit 0 %if ( 0%{!?_without_fusermount:1} ) %{_bindir}/fusermount-glusterfs %endif -%if ( 0%{_for_fedora_koji_builds} ) -%endif %files cloudsync-plugins %dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins diff --git a/rhel5-load-fuse-modules b/rhel5-load-fuse-modules deleted file mode 100755 index ee194db..0000000 --- a/rhel5-load-fuse-modules +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# -# fusermount-glusterfs requires the /dev/fuse character device. The fuse module -# provides this and is loaded on demand in newer Linux distributions. -# - -[ -c /dev/fuse ] || /sbin/modprobe fuse From fad240f71e0ddc50c25e2174496f48394587db83 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 18 Oct 2018 10:31:04 -0400 Subject: [PATCH 040/160] 5.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 4cb0f23..171d4f4 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -3,7 +3,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 @@ -211,7 +211,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 5.0 -Release: %{?prereltag:0.}5%{?prereltag:.%{prereltag}}%{?dist} +Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ @@ -1439,6 +1439,9 @@ exit 0 %endif %changelog +* Thu Oct 18 2018 Kaleb S. KEITHLEY - 5.0-1 +- 5.0 GA + * Fri Oct 5 2018 Kaleb S. KEITHLEY - 5.0-0.5.rc1 - 5.0 RC1 diff --git a/sources b/sources index 273e159..ac8e38d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-5.0rc1.tar.gz) = 0cebb22df34a6dab9729d00d5afbfa03a4858fbd8af8db225f02997c238cc59b9b3feceaace4a2cead1a0a7ce82d01faeb55ba3afd363fab2eeae7864146ce3f +SHA512 (glusterfs-5.0.tar.gz) = 45ccd3f3bbc9653998850f618f9776642da4a16508c056febc19c9db6aef2d1c58232f398e29ce034de45960b62d3e5bd54614aaf7030ba7e6025ff23968d475 From 229c739e5b6eda2eaa9784637b1c7ff66f73d1a0 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 14 Nov 2018 13:22:40 -0500 Subject: [PATCH 041/160] 5.1 GA Signed-off-by: Kaleb S. KEITHLEY --- 0001-configure.ac.patch | 42 ----------------------------------------- glusterfs.spec | 13 +++++++++++-- sources | 2 +- 3 files changed, 12 insertions(+), 45 deletions(-) delete mode 100644 0001-configure.ac.patch diff --git a/0001-configure.ac.patch b/0001-configure.ac.patch deleted file mode 100644 index 55733ad..0000000 --- a/0001-configure.ac.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- glusterfs-5.0rc0/configure.ac.orig 2018-09-24 12:44:51.547254900 -0400 -+++ glusterfs-5.0rc0/configure.ac 2018-09-24 12:55:49.464254900 -0400 -@@ -629,12 +629,14 @@ - *) - if test -x /usr/bin/python3; then - PYTHON=/usr/bin/python3 -- else -+ fi -+ if test -x /usr/bin/python2; then - PYTHON=/usr/bin/python2 - fi - ;; - esac - fi -+ - AM_PATH_PYTHON([2.6],,[:]) - if test -n "${PYTHON}"; then - have_python=yes -@@ -1688,13 +1690,16 @@ - - pushd $(dirname $0) &> /dev/null - if test ! -e python-shebangs; then -- touch python-shebangs -- if test "x${PYTHON}" = "x/usr/bin/python2"; then -- echo "fixing python shebangs..." -- for f in api events extras geo-replication libglusterfs tests tools xlators; do -- find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \; -- done -- echo "...done" -+ dnl koji's mock buildSRPMFromSCM subtask run's configure, with -+ if test -n "${PYTHON}"; then -+ touch python-shebangs -+ if test "x${PYTHON}" = "x/usr/bin/python2"; then -+ echo "fixing python shebangs..." -+ for f in api events extras geo-replication libglusterfs tests tools xlators; do -+ find $f -type f -exec sed -i 's|/usr/bin/python3|/usr/bin/python2|' {} \; -+ done -+ echo "...done" -+ fi - fi - fi - popd &> /dev/null diff --git a/glusterfs.spec b/glusterfs.spec index 171d4f4..297446a 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -23,6 +23,10 @@ # rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without bd %{?_without_bd:%global _without_bd --disable-bd-xlator} +%if ( 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 @@ -210,7 +214,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 5.0 +Version: 5.1 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -254,7 +258,7 @@ BuildRequires: python-ctypes %if ( ( 0%{?_with_ipv6default:1} ) || ( 0%{!?_without_libtirpc:1} ) ) BuildRequires: libtirpc-devel %endif -%if ( 0%{?fedora} && 0%{?fedora} > 27 ) +%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 ) BuildRequires: rpcgen %endif BuildRequires: userspace-rcu-devel >= 0.7 @@ -1323,7 +1327,9 @@ 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 @@ -1439,6 +1445,9 @@ exit 0 %endif %changelog +* Wed Nov 14 2018 Kaleb S. KEITHLEY - 5.1-1 +- 5.1 GA + * Thu Oct 18 2018 Kaleb S. KEITHLEY - 5.0-1 - 5.0 GA diff --git a/sources b/sources index ac8e38d..1e71997 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (glusterfs-5.0.tar.gz) = 45ccd3f3bbc9653998850f618f9776642da4a16508c056febc19c9db6aef2d1c58232f398e29ce034de45960b62d3e5bd54614aaf7030ba7e6025ff23968d475 +SHA512 (glusterfs-5.1.tar.gz) = db5649166c960c894162b2f2e706d85accff663fff71e80ed5a9f24a3863d2a0e0d94bc42d39baf1002f1ec8ef5445ff791d6d3edd539bfc8d6f6d00d7897db2 From 5738ffb966aed1a9352d6c35cd5886187f576dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 15 Nov 2018 12:53:55 +0100 Subject: [PATCH 042/160] https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompilation_phase_2 --- glusterfs.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/glusterfs.spec b/glusterfs.spec index 297446a..3c86916 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -1,3 +1,7 @@ +# 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 %global _for_fedora_koji_builds 1 From 19700a7e5f22d18ff04446f19eeb3d56b6914e43 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 13 Dec 2018 07:38:54 -0500 Subject: [PATCH 043/160] 5.2 GA Signed-off-by: Kaleb S. KEITHLEY --- glusterfs.spec | 5 ++++- sources | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/glusterfs.spec b/glusterfs.spec index 3c86916..639ec72 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -218,7 +218,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 5.1 +Version: 5.2 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1449,6 +1449,9 @@ exit 0 %endif %changelog +* Thu Dec 13 2018 Kaleb S. KEITHLEY - 5.2-1 +- 5.2 GA + * Wed Nov 14 2018 Kaleb S. KEITHLEY - 5.1-1 - 5.1 GA diff --git a/sources b/sources index 1e71997..d264949 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (glusterfs-5.1.tar.gz) = db5649166c960c894162b2f2e706d85accff663fff71e80ed5a9f24a3863d2a0e0d94bc42d39baf1002f1ec8ef5445ff791d6d3edd539bfc8d6f6d00d7897db2 +SHA512 (glusterfs-5.2.tar.gz) = e676a604410310406dd283d5bc8e17143e2d70d4955497a88e61952193a525978e177949a962bf47405c423ef8d4109e4309b600824eb3984127c4e231ce16f0 From 48abd2568d3b3d5c358d2de48d4f55bb8000a02e Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 17 Jan 2019 07:12:55 -0500 Subject: [PATCH 044/160] 5.3 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 639ec72..91723e6 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -218,7 +218,7 @@ Summary: Distributed File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs -Version: 5.2 +Version: 5.3 Release: %{?prereltag:0.}1%{?prereltag:.%{prereltag}}%{?dist} %else Name: @PACKAGE_NAME@ @@ -1449,6 +1449,9 @@ exit 0 %endif %changelog +* Thu Jan 17 2019 Kaleb S. KEITHLEY - 5.3-1 +- 5.3 GA + * Thu Dec 13 2018 Kaleb S. KEITHLEY - 5.2-1 - 5.2 GA diff --git a/sources b/sources index d264949..db028a9 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (glusterfs-5.1.tar.gz) = db5649166c960c894162b2f2e706d85accff663fff71e80ed5a9f24a3863d2a0e0d94bc42d39baf1002f1ec8ef5445ff791d6d3edd539bfc8d6f6d00d7897db2 -SHA512 (glusterfs-5.2.tar.gz) = e676a604410310406dd283d5bc8e17143e2d70d4955497a88e61952193a525978e177949a962bf47405c423ef8d4109e4309b600824eb3984127c4e231ce16f0 +SHA512 (glusterfs-5.3.tar.gz) = 8b5405dbbfcc57ece25ac5934c1d63e9a1f8936bcf6d53ebfdca5c144e963550d99bdee667b7ed7b06c608ddfbf40b5738e9c15b17a11362c8478b02a7e0e15f From 06830c2e70391cfa57cb698a2007139e11c52525 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 22:57:27 +0000 Subject: [PATCH 045/160] - 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 046/160] 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 047/160] 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 048/160] 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 049/160] 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 050/160] 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 051/160] 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 052/160] 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 053/160] 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 054/160] 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 055/160] 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 056/160] 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 057/160] 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 058/160] 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 059/160] 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 060/160] - 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 061/160] 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 062/160] 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 063/160] 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 064/160] 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 065/160] 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 066/160] 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 067/160] 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 068/160] 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 069/160] 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 070/160] 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 071/160] 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 072/160] 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 073/160] 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 074/160] 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 075/160] 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 076/160] 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 077/160] 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 078/160] 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 079/160] - 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 080/160] 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 081/160] 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 082/160] 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 083/160] 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 084/160] 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 085/160] 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 086/160] 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 087/160] 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 088/160] 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 089/160] 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 090/160] 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 091/160] 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 092/160] 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 093/160] 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 094/160] - 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 095/160] 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 096/160] 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 097/160] 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 098/160] 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 099/160] 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 100/160] 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 101/160] 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 102/160] - 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 103/160] 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 104/160] 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 105/160] 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 106/160] 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 107/160] 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 108/160] 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 109/160] 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 110/160] 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 111/160] 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 112/160] 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 113/160] - 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 114/160] 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 115/160] 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 116/160] 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 117/160] 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 118/160] 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 119/160] 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 120/160] 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 121/160] 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 122/160] 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 123/160] 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 124/160] - 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 125/160] 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 126/160] 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 127/160] 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 128/160] 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 129/160] 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 130/160] 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 131/160] 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 132/160] 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 133/160] 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 134/160] 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 135/160] 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 136/160] 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 137/160] 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 138/160] 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 139/160] 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 140/160] 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 141/160] 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 142/160] 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 143/160] 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 144/160] 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 145/160] 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 146/160] 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 147/160] 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 148/160] 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 149/160] 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 150/160] 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 151/160] 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 152/160] 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 153/160] 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 154/160] 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 155/160] 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 156/160] 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 157/160] 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 158/160] 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 159/160] 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 160/160] 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