Compare commits

..

3 commits

Author SHA1 Message Date
Kaleb S. KEITHLEY
88b07b4537 8.6 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-08-20 08:17:48 -04:00
Kaleb S. KEITHLEY
58975314bf 8.5 GA
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
2021-05-09 15:49:54 -04:00
Kaleb S KEITHLEY
a3695f7f63 8.4 GA
Signed-off-by: Kaleb S KEITHLEY <kkeithle@redhat.com>
2021-02-24 08:10:02 -05:00
8 changed files with 329 additions and 742 deletions

View file

@ -1,11 +0,0 @@
--- 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"
+GF_LDFLAGS="${GF_LDFLAGS} -rdynamic -fuse-ld=mold"
dnl see --with-libtirpc option check above, libtirpc(-devel) is required for
dnl ipv6-default

View file

@ -1,212 +0,0 @@
--- 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])])

View file

@ -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

View file

@ -1,126 +0,0 @@
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

109
glusterd.init Normal file
View file

@ -0,0 +1,109 @@
#!/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 $?

View file

@ -4,10 +4,10 @@
%global _for_fedora_koji_builds 1
# uncomment and add '%' to use the %%dev for pre-releases
# %%global prereltag rc0
# %%global dev rc0
##-----------------------------------------------------------------------------
## All package definitions should be placed here in alphabetical order
## All argument definitions should be placed here and keep them sorted
##
# asan
@ -54,11 +54,6 @@
# 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 --without-linux-io_uring
%{?_without_linux_io_uring:%global _without_linux_io_uring --disable-linux-io_uring}
# 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
@ -70,15 +65,6 @@
%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_tcmalloc --without-tcmalloc}
%ifnarch x86_64
%global _without_tcmalloc --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
@ -122,15 +108,9 @@
%{?_with_valgrind:%global _with_valgrind --enable-valgrind}
##-----------------------------------------------------------------------------
## All package definitions should be placed here in alphabetical order
## All %%global definitions should be placed here and keep them sorted
##
# 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
@ -157,6 +137,13 @@
%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 || :\
@ -190,22 +177,22 @@
##-----------------------------------------------------------------------------
## All package definitions should be placed here in alphabetical order
## All package definitions should be placed here and keep them sorted
##
Summary: Distributed File System
%if ( 0%{_for_fedora_koji_builds} )
Name: glusterfs
Version: 11.2
Release: 4%{?prereltag:%{prereltag}}%{?dist}
Version: 8.6
Release: 1%{?dev:%{dev}}%{?dist}
%else
Name: @PACKAGE_NAME@
Version: @PACKAGE_VERSION@
Release: 0.@PACKAGE_RELEASE@%{?dist}.26
Release: 0.@PACKAGE_RELEASE@%{?dist}.4
%endif
License: GPL-2.0-only OR LGPL-3.0-or-later
License: GPLv2 or LGPLv3+
URL: http://docs.gluster.org/
%if ( 0%{_for_fedora_koji_builds} )
Source0: http://github.com/gluster/glusterfs/archive/v%{version}%{?prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz
Source0: http://download.gluster.org/pub/gluster/%{name}/LATEST/%{version}%{?dev}/%{name}-%{version}%{?dev}.tar.gz
Source1: glusterd.sysconfig
Source2: glusterfsd.sysconfig
Source7: glusterfsd.service
@ -213,20 +200,17 @@ Source8: glusterfsd.init
%else
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
Patch0002: 0002-rpc-rpc-lib-src-Makefile.am.patch
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}
%{?systemd_requires}
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 )
BuildRequires: libasan
%endif
@ -235,16 +219,10 @@ 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 openssl
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
@ -270,10 +248,6 @@ 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}
@ -303,21 +277,8 @@ 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}
%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
Requires: libglusterd0%{?_isa} = %{version}-%{release}
%description cli
GlusterFS is a distributed file-system capable of scaling to several
@ -404,7 +365,7 @@ for GlusterFS.
%package fuse
Summary: Fuse client
BuildRequires: fuse3-devel
BuildRequires: fuse-devel
Requires: attr
Requires: psmisc
@ -423,7 +384,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
glusterfs and glusterfsd binaries.
glusterfsd and glusterfs binaries.
%if ( 0%{!?_without_server:1} )
%package ganesha
@ -477,18 +438,7 @@ Requires: %{name}-server = %{version}-%{release}
Requires: python%{_pythonver}
Requires: python%{_pythonver}-prettytable
Requires: python%{_pythonver}-gluster = %{version}-%{release}
Requires: rsync
Requires: util-linux
Requires: tar
# 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
@ -522,12 +472,12 @@ 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}
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
@ -680,6 +630,21 @@ 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}
@ -720,12 +685,12 @@ regression testing of Gluster.
%if ( 0%{!?_without_ocf:1} )
%package resource-agents
Summary: OCF Resource Agents for GlusterFS
License: GPL-3.0-or-later
License: GPLv3+
BuildArch: noarch
# for glusterd
Requires: %{name}-server = %{version}-%{release}
# depending on the distribution, we need pacemaker or resource-agents
Requires: resource-agents
Requires: %{_prefix}/lib/ocf/resource.d
%description resource-agents
GlusterFS is a distributed file-system capable of scaling to several
@ -747,9 +712,6 @@ 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
@ -759,6 +721,8 @@ 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} )
@ -809,12 +773,8 @@ functionality, and also few other scripts required for setup.
This package provides the glusterfs thin-arbiter translator.
%prep
%setup -q -n %{name}-%{version}%{?prereltag}
%ifarch x86_64 aarch64
%patch 0001 -p1
%endif
%patch 0002 -p1
%patch 0003 -p1
%setup -q -n %{name}-%{version}%{?dev}
%patch0002 -p1
%if ( ! %{_usepython3} )
echo "fixing python shebangs..."
for f in api events extras geo-replication libglusterfs tools xlators; do
@ -822,19 +782,8 @@ 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 <<EOF
u gluster - 'GlusterFS daemons' %{_rundir}/gluster -
EOF
%build
%ifarch armv7hl
%set_build_flags
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} \
@ -850,15 +799,9 @@ cat VERSION
%{?_without_georeplication} \
%{?_without_ocf} \
%{?_without_server} \
%{?_without_syslog} \
%{?_with_ipv6default} \
%{?_without_linux_io_uring} \
%{?_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
%{?_without_libtirpc}
# fix hardening and remove rpath in shlibs
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
@ -867,10 +810,11 @@ 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_build V=1 GCC_COLORS=
gcc -v
make %{?_smp_mflags} V=1
%check
%make_build check
make check
%install
rm -rf %{buildroot}
@ -911,7 +855,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}%{?prereltag}
https://forge.gluster.org/glusterfs-core/glusterfs/commits/v%{version}%{?dev}
EOM
# Remove benchmarking and other unpackaged files
@ -982,18 +926,12 @@ 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
%endif
## Install bash completion for cli
install -p -m 0755 -D extras/command-completion/gluster.bash \
%{buildroot}%{_sysconfdir}/bash_completion.d/gluster
##-----------------------------------------------------------------------------
## All package definitions should be placed here in alphabetical order
install -m0644 -D glusterfs.sysusers.conf %{buildroot}%{_sysusersdir}/glusterfs.conf
## All %%post should be placed here and keep them sorted
##
%post
%{?ldconfig}
@ -1026,21 +964,13 @@ exit 0
%if ( 0%{!?_without_server:1} )
%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
%post ganesha
# first install
if [ $1 -eq 1 ]; then
%selinux_set_booleans ganesha_use_fusefs=1
fi
semanage boolean -m ganesha_use_fusefs --on
exit 0
%endif
%endif
%if ( 0%{!?_without_georeplication:1} )
%post geo-replication
%if ( 0%{?rhel} && 0%{?rhel} >= 8 )
if [ $1 -eq 1 ]; then
%selinux_set_booleans %{selinuxbooleans}
fi
%endif
if [ $1 -ge 1 ]; then
%systemd_postun_with_restart glusterd
fi
@ -1125,11 +1055,15 @@ exit 0
%endif
##-----------------------------------------------------------------------------
## All package definitions should be placed here in alphabetical order
## All %%pre should be placed here and keep them sorted
##
%pre
getent group gluster > /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
## All %%preun should be placed here and keep them sorted
##
%if ( 0%{!?_without_events:1} )
%preun events
@ -1172,7 +1106,7 @@ if [ $1 -eq 0 ]; then
fi
##-----------------------------------------------------------------------------
## All package definitions should be placed here in alphabetical order
## All %%postun should be placed here and keep them sorted
##
%postun
%{?ldconfig}
@ -1195,38 +1129,35 @@ exit 0
%if ( 0%{!?_without_server:1} )
%if ( 0%{?fedora} && 0%{?fedora} > 25 || ( 0%{?rhel} && 0%{?rhel} > 6 ) )
%postun ganesha
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
semanage boolean -m ganesha_use_fusefs --off
exit 0
%endif
%endif
##-----------------------------------------------------------------------------
## All trriggerun should be placed here in alphabetical order
## 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 ) )
# 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 --on -S targeted
%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 %%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
##
%files
%{!?_licensedir:%global license %%doc}
@ -1245,49 +1176,49 @@ exit 0
%endif
# xlators that are needed on the client- and on the server-side
%dir %{_libdir}/glusterfs
%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 %{_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 %attr(0775,gluster,gluster) %{_rundir}/gluster
%dir %attr(0775,gluster,gluster) %{_rundir}/gluster/metrics
%if 0%{?_tmpfilesdir:1}
%if 0%{?_tmpfilesdir:1} && 0%{!?_without_server:1}
%{_tmpfilesdir}/gluster.conf
%endif
@ -1297,23 +1228,22 @@ exit 0
%exclude %{_libexecdir}/ganesha/*
%exclude %{_prefix}/lib/ocf/resource.d/heartbeat/*
%endif
%{_sysusersdir}/glusterfs.conf
%files cli
%{_sbindir}/gluster
%{_mandir}/man8/gluster.8*
%{bash_completions_dir}/gluster.bash
%{_sysconfdir}/bash_completion.d/gluster
%files client-xlators
%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
%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
%files cloudsync-plugins
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins
%{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsyncs3.so
%{_libdir}/glusterfs/%{version}%{?prereltag}/cloudsync-plugins/cloudsynccvlt.so
%dir %{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins
%{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins/cloudsyncs3.so
%{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins/cloudsynccvlt.so
%files -n libglusterfs-devel
%dir %{_includedir}/glusterfs
@ -1359,27 +1289,27 @@ exit 0
%endif
%files extra-xlators
%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
%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
%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}%{?prereltag}/xlator/mount
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse.so
%{_sbindir}/mount.glusterfs
%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/mount
%{_libdir}/glusterfs/%{version}%{?dev}/xlator/mount/fuse.so
/sbin/mount.glusterfs
%if ( 0%{!?_without_fusermount:1} )
%{_bindir}/fusermount-glusterfs
%endif
%if ( 0%{?_with_gnfs:1} && 0%{!?_without_server:1} )
%files gnfs
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs/*
%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/nfs
%{_libdir}/glusterfs/%{version}%{?dev}/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
@ -1413,7 +1343,7 @@ exit 0
%{_libexecdir}/glusterfs/python/syncdaemon/*
%dir %{_libexecdir}/glusterfs/scripts
%{_libexecdir}/glusterfs/scripts/get-gfid.sh
%{_libexecdir}/glusterfs/scripts/secondary-upgrade.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
@ -1453,6 +1383,10 @@ 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.
@ -1492,7 +1426,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}%{?prereltag}/xlator/nfs/*
%exclude %{_libdir}/glusterfs/%{version}%{?dev}/xlator/nfs/*
%endif
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
%if ( 0%{_for_fedora_koji_builds} )
@ -1518,28 +1452,27 @@ exit 0
# Manpages
%{_mandir}/man8/gluster-setgfid2path.8*
%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/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
%{_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
%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
# snap_scheduler
%{_sbindir}/snap_scheduler.py
@ -1633,173 +1566,23 @@ exit 0
%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 %{_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
* Fri Sep 19 2025 Python Maint <python-maint@redhat.com> - 11.2-4
- Rebuilt for Python 3.14.0rc3 bytecode
* Fri Aug 20 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 8.6-1
- 8.6 GA
* Fri Aug 15 2025 Python Maint <python-maint@redhat.com> - 11.2-3
- Rebuilt for Python 3.14.0rc2 bytecode
* Sun May 9 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 8.5-1
- 8.5 GA
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 11.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jul 02 2025 Benson Muite <fed500@fedoraproject.org> - 11.2-1
- Update to latest release
* Tue Jun 03 2025 Python Maint <python-maint@redhat.com> - 11.1-10
- Rebuilt for Python 3.14
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 11.1-9
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 11.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 11.1-7
- Rebuilt for the bin-sbin merge (2nd attempt)
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 11.1-5
- Rebuilt for the bin-sbin merge
* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 11.1-4
- Rebuilt for Python 3.13
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 11.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 11.1-2
- rebuild with gcc-14
* Mon Nov 6 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 11.1-1
- glusterfs 11.1 GA
* Thu Oct 5 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 11.0-6
- glusterfs 11, build in side tag f40-build-side-74974
* Tue Aug 22 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 11.0-5
- glusterfs 11, /usr/lib/ocf/resource-agents.d -> resource-agents
rhbz#2229910
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 11.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 15 2023 Python Maint <python-maint@redhat.com> - 11.0-3
- Rebuilt for Python 3.12
* Thu May 4 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 11.0-2
- glusterfs 11, remove unnecessary BR for ldconfig, i.e. glibc, also
rhbz#1731689
* Fri Feb 10 2023 Adam Williamson <awilliam@redhat.com> - 11.0-1
- Fix a mistake in the libglusterd0 obsolete
* Tue Feb 7 2023 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 11.0-0
- glusterfs 11 GA
* Fri Nov 11 2022 Kaleb S. KEITHLEY <kkeithle[at]redhat.com>
- SPDX migration
* Tue Sep 20 2022 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.3-1
- 10.3 GA
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 10.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 10.2-2
- Rebuilt for Python 3.11
* Fri May 13 2022 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.2-1
- 10.2 GA
* Mon Jan 31 2022 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.1-4
- 10.1, w/ modern linker, this time for real
* Wed Jan 26 2022 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.1-3
- 10.1, w/ modern linker (mold)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 10.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jan 19 2022 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.1-1
- 10.1 GA
* Sat Jan 15 2022 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.0-2
- rebuild with gcc-12
* Tue Nov 2 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.0-1
- 10.0 GA
* Fri Oct 29 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.0-0.3rc0
- 10.0 RC0, without_tcmalloc, rhbz#2018439
* Thu Oct 28 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.0-0.2rc0
- 10.0 RC0, armv7hl
* Tue Oct 19 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 10.0-0.1rc0
- 10.0 RC0
* Mon Oct 4 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.4-1
- 9.4 GA
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 9.3-3
- Rebuilt with OpenSSL 3.0.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 29 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.3-1
- 9.3 GA
* Tue Jun 22 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.2-5
- Rebuilt for userspace-rcu-0.13 again
* Fri Jun 11 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.2-4
- https://src.fedoraproject.org/rpms/glusterfs/pull-request/7
* Tue Jun 8 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.2-3
- Rebuilt for userspace-rcu-0.13
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 9.2-2
- Rebuilt for Python 3.10
* Sun May 9 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.2-1
- 9.2 GA
* Wed Apr 14 2021 Richard W.M. Jones <rjones@redhat.com> - 9.1-2
- Rebuild for updated liburing.
* Tue Mar 30 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.1-1
- 9.1 GA
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 9.0-4
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Jan 27 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.0-3
- 9.0, w/ liburing
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 9.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 19 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.0-1
- 9.0 GA
* Thu Jan 7 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.0-0.2
- 9.0 RC0, fuse3
* Wed Jan 6 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 9.0-0.1
- 9.0 RC0
* Wed Feb 24 2021 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 8.4-1
- 8.4 GA
* Tue Dec 1 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 8.3-1
- 8.3 GA

32
python.patch Normal file
View file

@ -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

View file

@ -1 +1 @@
SHA512 (glusterfs-11.2.tar.gz) = 6ac463047c5b1fee1d00ca9d6c16169762ed31c7d3b8dfb341bb8a90b83c15fdd9d48ebbe6cf79eee885f764cfa5391f4107837764c0a182eff1b51bede63d48
SHA512 (glusterfs-8.6.tar.gz) = 8526b2e12d9141012fab326814074f3e222293f47a25e1cdd150c222262c590be0582b6d2566d76cdc2abd08606c0b4acc325640068b1de1ea214bb00ff4251e