2019-09-30 10:40:53 -04:00
|
|
|
%global _hardened_build 1
|
2021-12-01 17:29:19 +08:00
|
|
|
|
|
|
|
|
%global _for_fedora_koji_builds 0
|
|
|
|
|
|
|
|
|
|
# uncomment and add '%' to use the prereltag for pre-releases
|
|
|
|
|
# %%global prereltag qa3
|
|
|
|
|
|
|
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
|
## All argument definitions should be placed here and keep them sorted
|
|
|
|
|
##
|
|
|
|
|
|
|
|
|
|
# asan
|
|
|
|
|
# if you wish to compile an rpm with address sanitizer...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --with asan
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_with_asan:%global _with_asan --enable-asan}
|
|
|
|
|
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
|
|
|
%global _with_asan %{nil}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# cmocka
|
|
|
|
|
# if you wish to compile an rpm with cmocka unit testing...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --with cmocka
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_with_cmocka:%global _with_cmocka --enable-cmocka}
|
|
|
|
|
|
|
|
|
|
# debug
|
|
|
|
|
# if you wish to compile an rpm with debugging...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --with debug
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_with_debug:%global _with_debug --enable-debug}
|
|
|
|
|
|
|
|
|
|
# epoll
|
|
|
|
|
# if you wish to compile an rpm without epoll...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --without epoll
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_without_epoll:%global _without_epoll --disable-epoll}
|
|
|
|
|
|
|
|
|
|
# fusermount
|
|
|
|
|
# if you wish to compile an rpm without fusermount...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --without fusermount
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_without_fusermount:%global _without_fusermount --disable-fusermount}
|
|
|
|
|
|
|
|
|
|
# geo-rep
|
|
|
|
|
# if you wish to compile an rpm without geo-replication support, compile like this...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --without georeplication
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_without_georeplication:%global _without_georeplication --disable-georeplication}
|
|
|
|
|
|
|
|
|
|
# gnfs
|
|
|
|
|
# if you wish to compile an rpm with the legacy gNFS server xlator
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --with gnfs
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_with_gnfs:%global _with_gnfs --enable-gnfs}
|
|
|
|
|
|
|
|
|
|
# ipv6default
|
|
|
|
|
# if you wish to compile an rpm with IPv6 default...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --with ipv6default
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_with_ipv6default:%global _with_ipv6default --with-ipv6-default}
|
|
|
|
|
|
|
|
|
|
# linux-io_uring
|
|
|
|
|
# If you wish to compile an rpm without linux-io_uring support...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --disable-linux-io_uring
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_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)
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --without libtirpc
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_without_libtirpc:%global _without_libtirpc --without-libtirpc}
|
|
|
|
|
|
|
|
|
|
# libtcmalloc
|
|
|
|
|
# if you wish to compile an rpm without tcmalloc (i.e. use gluster mempool)
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --without tcmalloc
|
2022-01-28 14:33:32 +08:00
|
|
|
%{?_without_tcmalloc:%global _without_tcmalloc --without-tcmalloc}
|
|
|
|
|
|
|
|
|
|
%ifnarch x86_64
|
|
|
|
|
%global _without_tcmalloc --without-tcmalloc
|
|
|
|
|
%endif
|
2021-12-01 17:29:19 +08:00
|
|
|
|
|
|
|
|
# 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...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --without ocf
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_without_ocf:%global _without_ocf --without-ocf}
|
|
|
|
|
|
|
|
|
|
# server
|
|
|
|
|
# if you wish to build rpms without server components, compile like this
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --without server
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_without_server:%global _without_server --without-server}
|
|
|
|
|
|
|
|
|
|
# disable server components forcefully as rhel <= 6
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
|
|
%global _without_server --without-server
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# syslog
|
|
|
|
|
# if you wish to build rpms without syslog logging, compile like this
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --without syslog
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_without_syslog:%global _without_syslog --disable-syslog}
|
|
|
|
|
|
|
|
|
|
# disable syslog forcefully as rhel <= 6 doesn't have rsyslog or rsyslog-mmcount
|
|
|
|
|
# Fedora deprecated syslog, see
|
|
|
|
|
# https://fedoraproject.org/wiki/Changes/NoDefaultSyslog
|
|
|
|
|
# (And what about RHEL7?)
|
|
|
|
|
%if ( 0%{?fedora} && 0%{?fedora} >= 20 ) || ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
|
|
%global _without_syslog --disable-syslog
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# tsan
|
|
|
|
|
# if you wish to compile an rpm with thread sanitizer...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --with tsan
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_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...
|
2022-12-05 07:58:08 +00:00
|
|
|
# rpmbuild -ta %{name}-%{version}.tar.gz --with valgrind
|
2021-12-01 17:29:19 +08:00
|
|
|
%{?_with_valgrind:%global _with_valgrind --enable-valgrind}
|
|
|
|
|
|
|
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
|
## All %%global definitions should be placed here and keep them sorted
|
|
|
|
|
##
|
|
|
|
|
|
|
|
|
|
# selinux booleans whose defalut 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
|
|
|
|
|
|
|
|
|
|
%global _with_systemd true
|
|
|
|
|
|
|
|
|
|
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 7 )
|
|
|
|
|
%global _with_firewalld --enable-firewalld
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if 0%{?_tmpfilesdir:1}
|
|
|
|
|
%global _with_tmpfilesdir --with-tmpfilesdir=%{_tmpfilesdir}
|
|
|
|
|
%else
|
|
|
|
|
%global _with_tmpfilesdir --without-tmpfilesdir
|
|
|
|
|
%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 _without_linux_io_uring --disable-linux-io_uring
|
|
|
|
|
%global _with_gnfs %{nil}
|
|
|
|
|
%global _without_ocf --without-ocf
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%global _usepython3 1
|
|
|
|
|
%global _pythonver 3
|
|
|
|
|
|
|
|
|
|
# From https://fedoraproject.org/wiki/Packaging:Python#Macros
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
|
|
%{!?python2_sitelib: %global python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
|
|
|
|
%{!?python2_sitearch: %global python2_sitearch %(python2 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
|
|
|
|
%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 || :\
|
|
|
|
|
%{nil}
|
|
|
|
|
%global service_install() install -D -p -m 0644 %1.service %{buildroot}%2 \
|
|
|
|
|
%{nil}
|
|
|
|
|
# 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
|
|
|
|
|
%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 %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
|
|
|
|
|
|
2019-09-30 10:40:53 -04:00
|
|
|
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
# We do not want to generate useless provides and requires for xlator
|
|
|
|
|
# .so files to be set for glusterfs packages.
|
|
|
|
|
# Filter all generated:
|
|
|
|
|
#
|
|
|
|
|
# TODO: RHEL5 does not have a convenient solution
|
|
|
|
|
%if ( 0%{?rhel} == 6 )
|
|
|
|
|
# filter_setup exists in RHEL6 only
|
|
|
|
|
%filter_provides_in %{_libdir}/glusterfs/%{version}/
|
|
|
|
|
%global __filter_from_req %{?__filter_from_req} | grep -v -P '^(?!lib).*\.so.*$'
|
|
|
|
|
%filter_setup
|
|
|
|
|
%else
|
|
|
|
|
# modern rpm and current Fedora do not generate requires when the
|
|
|
|
|
# provides are filtered
|
|
|
|
|
%global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
|
## All package definitions should be placed here in alphabetical order
|
|
|
|
|
##
|
|
|
|
|
Summary: Distributed File System
|
2019-09-30 10:40:53 -04:00
|
|
|
Name: glusterfs
|
2023-07-27 15:18:42 +00:00
|
|
|
Version: 11.1
|
2024-06-11 11:20:57 +08:00
|
|
|
Release: 3
|
2022-10-18 14:41:58 +08:00
|
|
|
License: GPLv3 or GPLv2+ or LGPLv3+
|
2019-09-30 10:40:53 -04:00
|
|
|
URL: http://docs.gluster.org/
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
|
|
Source0: http://bits.gluster.org/pub/gluster/glusterfs/src/glusterfs-%{version}%{?prereltag}.tar.gz
|
|
|
|
|
Source1: glusterd.sysconfig
|
|
|
|
|
Source2: glusterfsd.sysconfig
|
2019-09-30 10:40:53 -04:00
|
|
|
Source7: glusterfsd.service
|
2021-12-01 17:29:19 +08:00
|
|
|
Source8: glusterfsd.init
|
|
|
|
|
%else
|
2023-07-27 15:18:42 +00:00
|
|
|
Source0: https://download.gluster.org/pub/gluster/glusterfs/11/%{version}/%{name}-%{version}.tar.gz
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
2022-09-07 15:01:19 +08:00
|
|
|
|
2023-07-27 15:18:42 +00:00
|
|
|
Patch1: 0001-fuse-Resolve-asan-bug-in-during-receive-event-notifi.patch
|
2024-06-11 11:20:57 +08:00
|
|
|
Patch2: 0002-fix-Hostname-validation.patch
|
|
|
|
|
Patch3: 0003-fix-mount.glusterfs-Remove-from-grep-command.patch
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
|
|
|
|
BuildRequires: rpcgen gperftools-devel libunwind-devel
|
|
|
|
|
|
|
|
|
|
Requires(pre): shadow-utils
|
|
|
|
|
%if ( 0%{?_with_systemd:1} )
|
|
|
|
|
BuildRequires: systemd
|
|
|
|
|
%endif
|
|
|
|
|
|
2022-01-28 14:33:32 +08:00
|
|
|
%if ( 0%{!?_without_tcmalloc:1} )
|
2021-12-01 17:29:19 +08:00
|
|
|
Requires: gperftools-libs%{?_isa}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: libgfrpc0%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: libgfxdr0%{?_isa} = %{version}-%{release}
|
|
|
|
|
%if ( 0%{?_with_systemd:1} )
|
|
|
|
|
%{?systemd_requires}
|
|
|
|
|
%endif
|
|
|
|
|
%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
|
2022-12-05 07:58:08 +00:00
|
|
|
BuildRequires: libxml2-devel openssl-devel openssl
|
2021-12-01 17:29:19 +08:00
|
|
|
BuildRequires: libaio-devel libacl-devel
|
|
|
|
|
BuildRequires: python%{_pythonver}-devel
|
2022-01-28 14:33:32 +08:00
|
|
|
%if ( 0%{!?_without_tcmalloc:1} )
|
2021-12-01 17:29:19 +08:00
|
|
|
BuildRequires: gperftools-devel
|
|
|
|
|
%endif
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
|
|
|
|
|
BuildRequires: python-ctypes
|
|
|
|
|
%endif
|
|
|
|
|
%if ( 0%{?_with_ipv6default:1} ) || ( 0%{!?_without_libtirpc:1} )
|
|
|
|
|
BuildRequires: libtirpc-devel
|
|
|
|
|
%endif
|
|
|
|
|
%if ( 0%{?fedora} && 0%{?fedora} > 27 ) || ( 0%{?rhel} && 0%{?rhel} > 7 )
|
|
|
|
|
BuildRequires: rpcgen
|
|
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
BuildRequires: userspace-rcu-devel >= 0.7
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
|
|
BuildRequires: automake
|
|
|
|
|
%endif
|
|
|
|
|
BuildRequires: libuuid-devel
|
|
|
|
|
%if ( 0%{?_with_cmocka:1} )
|
2019-09-30 10:40:53 -04:00
|
|
|
BuildRequires: libcmocka-devel >= 1.0.1
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
|
|
|
|
%if ( 0%{!?_without_georeplication:1} )
|
|
|
|
|
BuildRequires: libattr-devel
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if (0%{?_with_firewalld:1})
|
|
|
|
|
BuildRequires: firewalld
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_linux_io_uring:1} )
|
|
|
|
|
BuildRequires: liburing-devel
|
|
|
|
|
%endif
|
|
|
|
|
|
2019-09-30 10:40:53 -04:00
|
|
|
Obsoletes: %{name}-common < %{version}-%{release}
|
|
|
|
|
Obsoletes: %{name}-core < %{version}-%{release}
|
2021-12-01 17:29:19 +08:00
|
|
|
Obsoletes: %{name}-rdma < %{version}-%{release}
|
|
|
|
|
%if ( 0%{!?_with_gnfs:1} )
|
|
|
|
|
Obsoletes: %{name}-gnfs < %{version}-%{release}
|
|
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
Provides: %{name}-common = %{version}-%{release}
|
|
|
|
|
Provides: %{name}-core = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
%description
|
2021-12-01 17:29:19 +08:00
|
|
|
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 includes the glusterfs binary, the glusterfsd daemon and the
|
|
|
|
|
libglusterfs and glusterfs translator modules common to both GlusterFS server
|
|
|
|
|
and client framework.
|
|
|
|
|
|
|
|
|
|
%package cli
|
|
|
|
|
Summary: GlusterFS CLI
|
|
|
|
|
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
%description cli
|
|
|
|
|
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 CLI application and its man page
|
|
|
|
|
|
|
|
|
|
%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 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.
|
|
|
|
|
|
|
|
|
|
%package extra-xlators
|
|
|
|
|
Summary: Extra Gluster filesystem Translators
|
|
|
|
|
# We need python-gluster rpm for gluster module's __init__.py in Python
|
|
|
|
|
# site-packages area
|
|
|
|
|
Requires: python%{_pythonver}-gluster = %{version}-%{release}
|
|
|
|
|
Requires: python%{_pythonver}
|
|
|
|
|
|
|
|
|
|
%description extra-xlators
|
|
|
|
|
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 extra filesystem Translators, such as Glupy,
|
|
|
|
|
for GlusterFS.
|
|
|
|
|
|
|
|
|
|
%package fuse
|
|
|
|
|
Summary: Fuse client
|
|
|
|
|
BuildRequires: fuse-devel
|
|
|
|
|
Requires: attr
|
|
|
|
|
Requires: psmisc
|
|
|
|
|
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
Obsoletes: %{name}-client < %{version}-%{release}
|
|
|
|
|
Provides: %{name}-client = %{version}-%{release}
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%description fuse
|
|
|
|
|
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 support to FUSE based clients and inlcudes the
|
|
|
|
|
glusterfs(d) binary.
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_georeplication:1} )
|
|
|
|
|
%package geo-replication
|
|
|
|
|
Summary: GlusterFS Geo-replication
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: %{name}-server%{?_isa} = %{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
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
%if ( 0%{?_with_gnfs:1} )
|
|
|
|
|
%package gnfs
|
|
|
|
|
Summary: GlusterFS gNFS server
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: nfs-utils
|
|
|
|
|
|
|
|
|
|
%description gnfs
|
|
|
|
|
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 legacy gNFS server xlator
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%package -n libglusterfs0
|
|
|
|
|
Summary: GlusterFS libglusterfs library
|
|
|
|
|
Requires: libgfrpc0%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: libgfxdr0%{?_isa} = %{version}-%{release}
|
|
|
|
|
Obsoletes: %{name}-libs <= %{version}-%{release}
|
|
|
|
|
Provides: %{name}-libs = %{version}-%{release}
|
2023-07-27 15:18:42 +00:00
|
|
|
Obsoletes: libglusterd0 = %{version}-%{release}
|
|
|
|
|
Provides: libglusterd0 = %{version}-%{release}
|
2021-12-01 17:29:19 +08:00
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
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 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 python%{_pythonver}-gluster
|
2019-09-30 10:40:53 -04:00
|
|
|
Summary: GlusterFS python library
|
2021-12-01 17:29:19 +08:00
|
|
|
Requires: python%{_pythonver}
|
|
|
|
|
%if ( ! %{_usepython3} )
|
|
|
|
|
%{?python_provide:%python_provide python-gluster}
|
|
|
|
|
Provides: python-gluster = %{version}-%{release}
|
|
|
|
|
Obsoletes: python-gluster < 3.10
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description -n python%{_pythonver}-gluster
|
|
|
|
|
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 contains the python modules of GlusterFS and own gluster
|
|
|
|
|
namespace.
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_ocf:1} )
|
2019-09-30 10:40:53 -04:00
|
|
|
%package resource-agents
|
2021-12-01 17:29:19 +08:00
|
|
|
Summary: OCF Resource Agents for GlusterFS
|
2019-09-30 10:40:53 -04:00
|
|
|
License: GPLv3+
|
|
|
|
|
BuildArch: noarch
|
2021-12-01 17:29:19 +08:00
|
|
|
# this Group handling comes from the Fedora resource-agents package
|
|
|
|
|
# for glusterd
|
2019-09-30 10:40:53 -04:00
|
|
|
Requires: %{name}-server = %{version}-%{release}
|
2021-12-01 17:29:19 +08:00
|
|
|
# depending on the distribution, we need pacemaker or resource-agents
|
2019-09-30 10:40:53 -04:00
|
|
|
Requires: %{_prefix}/lib/ocf/resource.d
|
|
|
|
|
|
|
|
|
|
%description resource-agents
|
2021-12-01 17:29:19 +08:00
|
|
|
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 resource agents which plug glusterd into
|
|
|
|
|
Open Cluster Framework (OCF) compliant cluster resource managers,
|
|
|
|
|
like Pacemaker.
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_server:1} )
|
|
|
|
|
%package server
|
|
|
|
|
Summary: Clustered file-system server
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: %{name}-cli%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: libgfchangelog0%{?_isa} = %{version}-%{release}
|
|
|
|
|
%if ( 0%{?fedora} && 0%{?fedora} >= 30 || ( 0%{?rhel} && 0%{?rhel} >= 8 ) )
|
|
|
|
|
Requires: glusterfs-selinux >= 0.1.0-2
|
|
|
|
|
%endif
|
|
|
|
|
# some daemons (like quota) use a fuse-mount, glusterfsd is part of -fuse
|
|
|
|
|
Requires: %{name}-fuse%{?_isa} = %{version}-%{release}
|
|
|
|
|
# self-heal daemon, rebalance, nfs-server etc. are actually clients
|
|
|
|
|
Requires: libgfapi0%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
|
|
|
|
|
# lvm2 for snapshot, and nfs-utils and rpcbind/portmap for gnfs server
|
|
|
|
|
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
|
|
|
|
|
%if (0%{?_with_firewalld:1})
|
|
|
|
|
# we install firewalld rules, so we need to have the directory owned
|
|
|
|
|
%if ( 0%{!?rhel} )
|
|
|
|
|
# not on RHEL because firewalld-filesystem appeared in 7.3
|
|
|
|
|
# when EL7 rpm gets weak dependencies we can add a Suggests:
|
|
|
|
|
Requires: firewalld-filesystem
|
|
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
|
|
|
Requires: rpcbind
|
|
|
|
|
%else
|
|
|
|
|
Requires: portmap
|
|
|
|
|
%endif
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
|
|
Requires: python-argparse
|
|
|
|
|
%endif
|
2022-01-26 09:51:03 +08:00
|
|
|
Requires: python3-pyxattr
|
2021-12-01 17:29:19 +08:00
|
|
|
%if (0%{?_with_valgrind:1})
|
|
|
|
|
Requires: valgrind
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description server
|
|
|
|
|
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 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 getting the setup done.
|
|
|
|
|
|
|
|
|
|
This package provides the glusterfs thin-arbiter translator.
|
|
|
|
|
|
|
|
|
|
%package client-xlators
|
|
|
|
|
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 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.
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_events:1} )
|
|
|
|
|
%package events
|
|
|
|
|
Summary: GlusterFS Events
|
|
|
|
|
Requires: %{name}-server%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: python%{_pythonver} python%{_pythonver}-prettytable
|
|
|
|
|
Requires: python%{_pythonver}-gluster = %{version}-%{release}
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} < 8 )
|
|
|
|
|
Requires: python-requests
|
|
|
|
|
%else
|
|
|
|
|
Requires: python%{_pythonver}-requests
|
|
|
|
|
%endif
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} < 7 )
|
|
|
|
|
Requires: python-argparse
|
|
|
|
|
%endif
|
|
|
|
|
%if ( 0%{?_with_systemd:1} )
|
|
|
|
|
%{?systemd_requires}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%description events
|
|
|
|
|
GlusterFS Events
|
|
|
|
|
|
|
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2024-03-13 09:57:47 +00:00
|
|
|
%package help
|
|
|
|
|
Summary: Including man files for glusterfs.
|
|
|
|
|
Requires: man
|
|
|
|
|
|
|
|
|
|
%description help
|
|
|
|
|
This contains man files for the using of glusterfs.
|
|
|
|
|
|
2019-09-30 10:40:53 -04:00
|
|
|
%prep
|
2022-09-07 15:01:19 +08:00
|
|
|
%autosetup -n %{name}-%{version}%{?prereltag} -p1
|
2021-12-01 17:29:19 +08:00
|
|
|
%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
|
2019-09-30 10:40:53 -04:00
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
# RHEL6 and earlier need to manually replace config.guess and config.sub
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} <= 6 )
|
|
|
|
|
./autogen.sh
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%configure \
|
|
|
|
|
%{?_with_asan} \
|
|
|
|
|
%{?_with_cmocka} \
|
|
|
|
|
%{?_with_debug} \
|
|
|
|
|
%{?_with_firewalld} \
|
|
|
|
|
%{?_with_gnfs} \
|
|
|
|
|
%{?_with_tmpfilesdir} \
|
|
|
|
|
%{?_with_tsan} \
|
|
|
|
|
%{?_with_valgrind} \
|
|
|
|
|
%{?_without_epoll} \
|
|
|
|
|
%{?_without_events} \
|
|
|
|
|
%{?_without_fusermount} \
|
|
|
|
|
%{?_without_georeplication} \
|
|
|
|
|
%{?_without_ocf} \
|
|
|
|
|
%{?_without_server} \
|
|
|
|
|
%{?_without_syslog} \
|
|
|
|
|
%{?_with_ipv6default} \
|
|
|
|
|
%{?_without_linux_io_uring} \
|
|
|
|
|
%{?_without_libtirpc} \
|
|
|
|
|
%{?_without_tcmalloc}
|
|
|
|
|
|
|
|
|
|
# fix hardening and remove rpath in shlibs
|
|
|
|
|
%if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
2019-09-30 10:40:53 -04:00
|
|
|
sed -i 's| \\\$compiler_flags |&\\\$LDFLAGS |' libtool
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
|
|
|
|
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
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
make %{?_smp_mflags}
|
2019-09-30 10:40:53 -04:00
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
make check
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
rm -rf %{buildroot}
|
2021-12-01 17:29:19 +08:00
|
|
|
make install DESTDIR=%{buildroot}
|
|
|
|
|
%if ( 0%{!?_without_server:1} )
|
|
|
|
|
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
|
|
install -D -p -m 0644 %{SOURCE1} \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
|
|
|
|
|
install -D -p -m 0644 %{SOURCE2} \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
|
|
|
|
|
%else
|
|
|
|
|
install -D -p -m 0644 extras/glusterd-sysconfig \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
|
|
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/log/glusterd
|
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfs
|
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/log/glusterfsd
|
|
|
|
|
mkdir -p %{buildroot}%{_rundir}/gluster
|
|
|
|
|
|
|
|
|
|
# Remove unwanted files from all the shared libraries
|
|
|
|
|
find %{buildroot}%{_libdir} -name '*.a' -delete
|
|
|
|
|
find %{buildroot}%{_libdir} -name '*.la' -delete
|
|
|
|
|
|
|
|
|
|
# Remove installed docs, the ones we want are included by %%doc, in
|
|
|
|
|
# /usr/share/doc/glusterfs or /usr/share/doc/glusterfs-x.y.z depending
|
|
|
|
|
# on the distribution
|
|
|
|
|
%if ( 0%{?fedora} && 0%{?fedora} > 19 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
|
|
|
|
|
rm -rf %{buildroot}%{_pkgdocdir}/*
|
|
|
|
|
%else
|
|
|
|
|
rm -rf %{buildroot}%{_defaultdocdir}/%{name}
|
|
|
|
|
mkdir -p %{buildroot}%{_pkgdocdir}
|
|
|
|
|
%endif
|
|
|
|
|
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}
|
|
|
|
|
EOM
|
|
|
|
|
|
|
|
|
|
# Remove benchmarking and other unpackaged files
|
|
|
|
|
# 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
|
|
|
|
|
|
|
|
|
|
%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%{!?_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
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_georeplication:1} )
|
|
|
|
|
# geo-rep ghosts
|
|
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/geo-replication
|
|
|
|
|
touch %{buildroot}%{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
|
|
|
|
|
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
|
2019-09-30 10:40:53 -04:00
|
|
|
subdirs=(add-brick create copy-file delete gsync-create remove-brick reset set start stop)
|
|
|
|
|
for dir in ${subdirs[@]}; do
|
2021-12-01 17:29:19 +08:00
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/"$dir"/{pre,post}
|
2019-09-30 10:40:53 -04:00
|
|
|
done
|
2021-12-01 17:29:19 +08:00
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/glustershd
|
|
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/peers
|
|
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/vols
|
|
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/nfs/run
|
|
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/bitd
|
|
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/quotad
|
|
|
|
|
mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/scrub
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs
|
|
|
|
|
|
|
|
|
|
## Install bash completion for cli
|
|
|
|
|
install -p -m 0744 -D extras/command-completion/gluster.bash \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/bash_completion.d/gluster
|
|
|
|
|
|
|
|
|
|
%clean
|
|
|
|
|
rm -rf %{buildroot}
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
|
## All %%post should be placed here and keep them sorted
|
|
|
|
|
##
|
2019-09-30 10:40:53 -04:00
|
|
|
%post
|
|
|
|
|
/sbin/ldconfig
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{!?_without_syslog:1} )
|
|
|
|
|
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
2019-09-30 10:40:53 -04:00
|
|
|
%systemd_postun_with_restart rsyslog
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
|
|
|
|
%endif
|
2020-02-12 15:35:02 +08:00
|
|
|
exit 0
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{!?_without_events:1} )
|
|
|
|
|
%post events
|
2019-09-30 10:40:53 -04:00
|
|
|
%systemd_post glustereventsd
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{!?_without_georeplication:1} )
|
|
|
|
|
%post geo-replication
|
|
|
|
|
%if ( 0%{?rhel} && 0%{?rhel} >= 8 )
|
|
|
|
|
%selinux_set_booleans %{selinuxbooleans}
|
|
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
if [ $1 -ge 1 ]; then
|
|
|
|
|
%systemd_postun_with_restart glusterd
|
|
|
|
|
fi
|
2020-02-12 15:35:02 +08:00
|
|
|
exit 0
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%post -n libglusterfs0
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
|
|
|
|
|
%post -n libgfapi0
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
|
|
|
|
|
%post -n libgfchangelog0
|
|
|
|
|
/sbin/ldconfig
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%post -n libgfrpc0
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
|
|
|
|
|
%post -n libgfxdr0
|
|
|
|
|
/sbin/ldconfig
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_server:1} )
|
|
|
|
|
%post server
|
|
|
|
|
# Legacy server
|
2019-09-30 10:40:53 -04:00
|
|
|
%systemd_post glusterd
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{_for_fedora_koji_builds} )
|
2019-09-30 10:40:53 -04:00
|
|
|
%systemd_post glusterfsd
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
|
|
|
|
# ".cmd_log_history" is renamed to "cmd_history.log" in GlusterFS-3.7 .
|
|
|
|
|
# While upgrading glusterfs-server package form GlusterFS version <= 3.6 to
|
|
|
|
|
# GlusterFS version 3.7, ".cmd_log_history" should be renamed to
|
|
|
|
|
# "cmd_history.log" to retain cli command history contents.
|
2019-09-30 10:40:53 -04:00
|
|
|
if [ -f %{_localstatedir}/log/glusterfs/.cmd_log_history ]; then
|
|
|
|
|
mv %{_localstatedir}/log/glusterfs/.cmd_log_history \
|
|
|
|
|
%{_localstatedir}/log/glusterfs/cmd_history.log
|
|
|
|
|
fi
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
# Genuine Fedora (and EPEL) builds never put gluster files in /etc; if
|
|
|
|
|
# there are any files in /etc from a prior gluster.org install, move them
|
|
|
|
|
# to /var/lib. (N.B. Starting with 3.3.0 all gluster files are in /var/lib
|
|
|
|
|
# in gluster.org RPMs.) Be careful to copy them on the off chance that
|
|
|
|
|
# /etc and /var/lib are on separate file systems
|
|
|
|
|
if [ -d /etc/glusterd -a ! -h %{_sharedstatedir}/glusterd ]; then
|
|
|
|
|
mkdir -p %{_sharedstatedir}/glusterd
|
|
|
|
|
cp -a /etc/glusterd %{_sharedstatedir}/glusterd
|
2019-09-30 10:40:53 -04:00
|
|
|
rm -rf /etc/glusterd
|
2021-12-01 17:29:19 +08:00
|
|
|
ln -sf %{_sharedstatedir}/glusterd /etc/glusterd
|
2019-09-30 10:40:53 -04:00
|
|
|
fi
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
# Rename old volfiles in an RPM-standard way. These aren't actually
|
|
|
|
|
# considered package config files, so %%config doesn't work for them.
|
|
|
|
|
if [ -d %{_sharedstatedir}/glusterd/vols ]; then
|
|
|
|
|
for file in $(find %{_sharedstatedir}/glusterd/vols -name '*.vol'); do
|
2019-09-30 10:40:53 -04:00
|
|
|
newfile=${file}.rpmsave
|
|
|
|
|
echo "warning: ${file} saved as ${newfile}"
|
|
|
|
|
cp ${file} ${newfile}
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
# add marker translator
|
|
|
|
|
# but first make certain that there are no old libs around to bite us
|
|
|
|
|
# BZ 834847
|
2019-09-30 10:40:53 -04:00
|
|
|
if [ -e /etc/ld.so.conf.d/glusterfs.conf ]; then
|
|
|
|
|
rm -f /etc/ld.so.conf.d/glusterfs.conf
|
2021-12-01 17:29:19 +08:00
|
|
|
/sbin/ldconfig
|
2019-09-30 10:40:53 -04:00
|
|
|
fi
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%if (0%{?_with_firewalld:1})
|
|
|
|
|
%firewalld_reload
|
|
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
|
|
|
|
|
pidof -c -o %PPID -x glusterd &> /dev/null
|
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
|
kill -9 `pgrep -f gsyncd.py` &> /dev/null
|
|
|
|
|
|
|
|
|
|
killall --wait glusterd &> /dev/null
|
|
|
|
|
glusterd --xlator-option *.upgrade=on -N
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
#Cleaning leftover glusterd socket file which is created by glusterd in
|
|
|
|
|
#rpm_script_t context.
|
2019-09-30 10:40:53 -04:00
|
|
|
rm -f %{_rundir}/glusterd.socket
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
# glusterd _was_ running, we killed it, it exited after *.upgrade=on,
|
|
|
|
|
# so start it again
|
|
|
|
|
%service_start glusterd
|
2019-09-30 10:40:53 -04:00
|
|
|
else
|
|
|
|
|
glusterd --xlator-option *.upgrade=on -N
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
#Cleaning leftover glusterd socket file which is created by glusterd in
|
|
|
|
|
#rpm_script_t context.
|
2019-09-30 10:40:53 -04:00
|
|
|
rm -f %{_rundir}/glusterd.socket
|
|
|
|
|
fi
|
|
|
|
|
exit 0
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
|
## All %%pre should be placed here and keep them sorted
|
|
|
|
|
##
|
2019-09-30 10:40:53 -04:00
|
|
|
%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
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
|
## All %%preun should be placed here and keep them sorted
|
|
|
|
|
##
|
|
|
|
|
%if ( 0%{!?_without_events:1} )
|
|
|
|
|
%preun events
|
2019-09-30 10:40:53 -04:00
|
|
|
if [ $1 -eq 0 ]; then
|
2021-12-01 17:29:19 +08:00
|
|
|
if [ -f %glustereventsd_svcfile ]; then
|
|
|
|
|
%service_stop glustereventsd
|
2019-09-30 10:40:53 -04:00
|
|
|
%systemd_preun glustereventsd
|
|
|
|
|
fi
|
2020-02-12 15:35:02 +08:00
|
|
|
fi
|
|
|
|
|
exit 0
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{!?_without_server:1} )
|
|
|
|
|
%preun server
|
2020-02-12 15:35:02 +08:00
|
|
|
if [ $1 -eq 0 ]; then
|
2021-12-01 17:29:19 +08:00
|
|
|
if [ -f %glusterfsd_svcfile ]; then
|
|
|
|
|
%service_stop glusterfsd
|
2019-09-30 10:40:53 -04:00
|
|
|
fi
|
2021-12-01 17:29:19 +08:00
|
|
|
%service_stop glusterd
|
|
|
|
|
if [ -f %glusterfsd_svcfile ]; then
|
2019-09-30 10:40:53 -04:00
|
|
|
%systemd_preun glusterfsd
|
|
|
|
|
fi
|
|
|
|
|
%systemd_preun glusterd
|
|
|
|
|
fi
|
|
|
|
|
if [ $1 -ge 1 ]; then
|
2021-12-01 17:29:19 +08:00
|
|
|
if [ -f %glusterfsd_svcfile ]; then
|
2019-09-30 10:40:53 -04:00
|
|
|
%systemd_postun_with_restart glusterfsd
|
|
|
|
|
fi
|
|
|
|
|
%systemd_postun_with_restart glusterd
|
|
|
|
|
fi
|
2021-12-01 17:29:19 +08:00
|
|
|
exit 0
|
|
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%preun thin-arbiter
|
2020-01-11 10:44:41 +08:00
|
|
|
if [ $1 -eq 0 ]; then
|
2021-12-01 17:29:19 +08:00
|
|
|
if [ -f %glusterta_svcfile ]; then
|
|
|
|
|
%service_stop gluster-ta-volume
|
2020-01-11 10:44:41 +08:00
|
|
|
%systemd_preun gluster-ta-volume
|
|
|
|
|
fi
|
|
|
|
|
fi
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
|
## All %%postun should be placed here and keep them sorted
|
|
|
|
|
##
|
2019-09-30 10:40:53 -04:00
|
|
|
%postun
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{!?_without_syslog:1} )
|
|
|
|
|
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
2019-09-30 10:40:53 -04:00
|
|
|
%systemd_postun_with_restart rsyslog
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_server:1} )
|
|
|
|
|
%postun server
|
|
|
|
|
%if (0%{?_with_firewalld:1})
|
|
|
|
|
%firewalld_reload
|
|
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
exit 0
|
2021-12-01 17:29:19 +08:00
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
##-----------------------------------------------------------------------------
|
|
|
|
|
## All %%files should be placed here and keep them grouped
|
|
|
|
|
##
|
2019-09-30 10:40:53 -04:00
|
|
|
%files
|
2021-12-01 17:29:19 +08:00
|
|
|
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS COMMITMENT
|
2019-09-30 10:40:53 -04:00
|
|
|
%dir %{_localstatedir}/log/glusterfs
|
2021-12-01 17:29:19 +08:00
|
|
|
%if 0%{?!_without_server:1}
|
2019-09-30 10:40:53 -04:00
|
|
|
%dir %{_datadir}/glusterfs
|
|
|
|
|
%dir %{_datadir}/glusterfs/scripts
|
2021-12-01 17:29:19 +08:00
|
|
|
%{_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
|
2019-09-30 10:40:53 -04:00
|
|
|
%dir %{_libdir}/glusterfs
|
2021-12-01 17:29:19 +08:00
|
|
|
%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
|
2019-09-30 10:40:53 -04:00
|
|
|
%dir %attr(0775,gluster,gluster) %{_rundir}/gluster
|
2021-12-01 17:29:19 +08:00
|
|
|
%if 0%{?_tmpfilesdir:1} && 0%{!?_without_server:1}
|
|
|
|
|
%{_tmpfilesdir}/gluster.conf
|
|
|
|
|
%endif
|
|
|
|
|
|
2022-01-26 09:19:48 +08:00
|
|
|
#exclude regression-tests related
|
|
|
|
|
%exclude %{_datadir}/glusterfs/run-tests.sh
|
|
|
|
|
%exclude %{_datadir}/glusterfs/tests
|
|
|
|
|
%exclude %{_datadir}/glusterfs/tests/vagrant
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
#exclude ganesha related files
|
|
|
|
|
%exclude %{_sysconfdir}/ganesha/ganesha-ha.conf.sample
|
|
|
|
|
%exclude %{_libexecdir}/ganesha/*
|
|
|
|
|
%exclude %{_prefix}/lib/ocf/resource.d/heartbeat/*
|
2022-01-26 09:19:48 +08:00
|
|
|
%exclude %{_sharedstatedir}/glusterd/hooks/1/start/post/S31ganesha-start.sh
|
2021-12-01 17:29:19 +08:00
|
|
|
|
|
|
|
|
%files cli
|
|
|
|
|
%{_sbindir}/gluster
|
2023-07-27 15:18:42 +00:00
|
|
|
%{_sysconfdir}/bash_completion.d/gluster*
|
2021-12-01 17:29:19 +08:00
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
|
|
|
|
|
%files -n libglusterfs-devel
|
|
|
|
|
%dir %{_includedir}/glusterfs
|
|
|
|
|
%{_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
|
|
|
|
|
|
|
|
|
|
%files client-xlators
|
|
|
|
|
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
|
|
%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 extra-xlators
|
|
|
|
|
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
|
|
%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.
|
2020-01-11 10:44:41 +08:00
|
|
|
%{_sbindir}/glusterfs
|
|
|
|
|
%{_sbindir}/glusterfsd
|
2019-09-30 10:40:53 -04:00
|
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs
|
2021-12-01 17:29:19 +08:00
|
|
|
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
|
|
%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
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if ( 0%{?_with_gnfs:1} && 0%{!?_without_server:1} )
|
|
|
|
|
%files gnfs
|
|
|
|
|
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
|
|
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs
|
|
|
|
|
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs/server.so
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs
|
|
|
|
|
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/nfs-server.vol
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
|
|
|
|
|
%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
|
2020-01-11 10:44:41 +08:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{?_with_systemd:1} )
|
|
|
|
|
%{_unitdir}/gluster-ta-volume.service
|
|
|
|
|
%endif
|
2020-01-11 10:44:41 +08:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{!?_without_georeplication:1} )
|
|
|
|
|
%files geo-replication
|
2019-09-30 10:40:53 -04:00
|
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep
|
2021-12-01 17:29:19 +08:00
|
|
|
|
2019-09-30 10:40:53 -04:00
|
|
|
%{_sbindir}/gfind_missing_files
|
|
|
|
|
%{_sbindir}/gluster-mountbroker
|
|
|
|
|
%dir %{_libexecdir}/glusterfs
|
|
|
|
|
%dir %{_libexecdir}/glusterfs/python
|
|
|
|
|
%dir %{_libexecdir}/glusterfs/python/syncdaemon
|
|
|
|
|
%{_libexecdir}/glusterfs/gsyncd
|
2021-12-01 17:29:19 +08:00
|
|
|
%{_libexecdir}/glusterfs/python/syncdaemon/*
|
|
|
|
|
%dir %{_libexecdir}/glusterfs/scripts
|
|
|
|
|
%{_libexecdir}/glusterfs/scripts/get-gfid.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
|
|
|
|
|
%{_libexecdir}/glusterfs/scripts/schedule_georep.py*
|
2019-09-30 10:40:53 -04:00
|
|
|
%{_libexecdir}/glusterfs/gverify.sh
|
|
|
|
|
%{_libexecdir}/glusterfs/set_geo_rep_pem_keys.sh
|
|
|
|
|
%{_libexecdir}/glusterfs/peer_gsec_create
|
|
|
|
|
%{_libexecdir}/glusterfs/peer_mountbroker
|
|
|
|
|
%{_libexecdir}/glusterfs/peer_mountbroker.py*
|
|
|
|
|
%{_libexecdir}/glusterfs/gfind_missing_files
|
|
|
|
|
%{_libexecdir}/glusterfs/peer_georep-sshkey.py*
|
2021-12-01 17:29:19 +08:00
|
|
|
%{_sbindir}/gluster-georep-sshkey
|
|
|
|
|
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication
|
|
|
|
|
%ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create
|
|
|
|
|
%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
|
|
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%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 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/__pycache__
|
|
|
|
|
%{python3_sitelib}/gluster/cliutils
|
|
|
|
|
%else
|
|
|
|
|
%dir %{python2_sitelib}/gluster
|
|
|
|
|
%{python2_sitelib}/gluster/__init__.*
|
|
|
|
|
%{python2_sitelib}/gluster/cliutils
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_ocf:1} )
|
|
|
|
|
%files resource-agents
|
|
|
|
|
# /usr/lib is the standard for OCF, also on x86_64
|
|
|
|
|
%{_prefix}/lib/ocf/resource.d/glusterfs
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%if ( 0%{!?_without_server:1} )
|
|
|
|
|
%files server
|
|
|
|
|
%doc extras/clear_xattrs.sh
|
2019-09-30 10:40:53 -04:00
|
|
|
# sysconf
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/glusterfs
|
2021-12-01 17:29:19 +08:00
|
|
|
%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
|
|
|
|
|
%if ( 0%{?_with_gnfs:1} )
|
|
|
|
|
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs/*
|
|
|
|
|
%endif
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/glusterd
|
|
|
|
|
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd
|
|
|
|
|
%endif
|
2019-09-30 10:40:53 -04:00
|
|
|
|
|
|
|
|
# init files
|
2021-12-01 17:29:19 +08:00
|
|
|
%glusterd_svcfile
|
|
|
|
|
%if ( 0%{_for_fedora_koji_builds} )
|
|
|
|
|
%glusterfsd_svcfile
|
|
|
|
|
%endif
|
|
|
|
|
%if ( 0%{?_with_systemd:1} )
|
|
|
|
|
%glusterfssharedstorage_svcfile
|
|
|
|
|
%endif
|
|
|
|
|
|
2019-09-30 10:40:53 -04:00
|
|
|
# binaries
|
|
|
|
|
%{_sbindir}/glusterd
|
2021-12-01 17:29:19 +08:00
|
|
|
%{_libexecdir}/glusterfs/glfsheal
|
2019-09-30 10:40:53 -04:00
|
|
|
%{_sbindir}/gf_attach
|
|
|
|
|
%{_sbindir}/gluster-setgfid2path
|
2021-12-01 17:29:19 +08:00
|
|
|
# {_sbindir}/glusterfsd is the actual binary, but glusterfs (client) is a
|
|
|
|
|
# symlink. The binary itself (and symlink) are part of the glusterfs-fuse
|
|
|
|
|
# package, because glusterfs-server depends on that anyway.
|
|
|
|
|
|
|
|
|
|
# xlators
|
|
|
|
|
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
|
|
|
|
|
%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
|
2023-07-27 15:18:42 +00:00
|
|
|
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/simple-quota.so
|
2021-12-01 17:29:19 +08:00
|
|
|
%{_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
|
2019-09-30 10:40:53 -04:00
|
|
|
|
|
|
|
|
# snap_scheduler
|
|
|
|
|
%{_sbindir}/snap_scheduler.py
|
|
|
|
|
%{_sbindir}/gcron.py
|
|
|
|
|
%{_sbindir}/conf.py
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
# /var/lib/glusterd, e.g. hookscripts, etc.
|
|
|
|
|
%ghost %attr(0644,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/bitd
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/groups
|
|
|
|
|
%attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/virt
|
|
|
|
|
%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
|
|
|
|
|
%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
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1
|
|
|
|
|
%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
|
|
|
|
|
%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
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/pre
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/post
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/copy-file/pre
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/post
|
|
|
|
|
%{_sharedstatedir}/glusterd/hooks/1/delete/post/S57glusterfind-delete-post
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre
|
|
|
|
|
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre/S10selinux-del-fcontext.sh
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/post
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/remove-brick/pre
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset/post
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/reset/pre
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post
|
|
|
|
|
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post/S30samba-set.sh
|
|
|
|
|
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post/S32gluster_enable_shared_storage.sh
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/pre
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post
|
|
|
|
|
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post/S29CTDBsetup.sh
|
|
|
|
|
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post/S30samba-start.sh
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/pre
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/post
|
|
|
|
|
%dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre
|
|
|
|
|
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S30samba-stop.sh
|
|
|
|
|
%attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
|
|
|
|
|
%config(noreplace) %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/peers
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/quotad
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/scrub
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/snaps
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/ss_brick
|
|
|
|
|
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/vols
|
|
|
|
|
|
|
|
|
|
# Extra utility script
|
|
|
|
|
%dir %{_libexecdir}/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
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
# Incrementalapi
|
|
|
|
|
%{_libexecdir}/glusterfs/glusterfind
|
|
|
|
|
%{_bindir}/glusterfind
|
|
|
|
|
%{_libexecdir}/glusterfs/peer_add_secret_pub
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
%if ( 0%{?_with_firewalld:1} )
|
|
|
|
|
%{_prefix}/lib/firewalld/services/glusterfs.xml
|
|
|
|
|
%endif
|
|
|
|
|
# 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
|
|
|
|
|
%{_libexecdir}/glusterfs/gfevents
|
|
|
|
|
%{_libexecdir}/glusterfs/peer_eventsapi.py*
|
|
|
|
|
%{_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
|
2019-09-30 10:40:53 -04:00
|
|
|
|
2024-03-13 09:57:47 +00:00
|
|
|
%files help
|
|
|
|
|
%{_mandir}/man8/*gluster*.8*
|
|
|
|
|
|
2019-09-30 10:40:53 -04:00
|
|
|
%changelog
|
2024-06-11 11:20:57 +08:00
|
|
|
* Wed May 22 2024 xuchenchen <xuchenchen@kylinos.cn> - 11.1-3
|
|
|
|
|
- fix Hostname validation
|
|
|
|
|
- fix mount.glusterfs Remove \ from grep command
|
|
|
|
|
|
2024-03-13 09:57:47 +00:00
|
|
|
* Wed Mar 13 2024 wangxiaomeng <wangxiaomeng@kylinos.cn> - 11.1-2
|
|
|
|
|
- fix upgrade error that %{_mandir}/man8/*gluster*.8* belong to package glusterfs currently conflict with that belong to package help in the lower version.
|
|
|
|
|
|
2023-07-27 15:18:42 +00:00
|
|
|
* Sat Jan 27 2024 wuguanghao <wuguanghao3@huawei.com> - 11.1-1
|
|
|
|
|
- upgrade to 11.1
|
|
|
|
|
- add simple-quota xattr to afr and ec ignore list
|
|
|
|
|
- fix asan use-after-free bug
|
|
|
|
|
- fix error not supported for ipv6
|
|
|
|
|
- support OpenSSL 3.0
|
|
|
|
|
- drop libglusterd
|
|
|
|
|
- O_PATH support over protocol
|
|
|
|
|
- Enable AES cipher for SSL by default
|
|
|
|
|
- glusterd: add stripe_count in volume info
|
|
|
|
|
- snapshots: Support for ZFS Snapshots
|
|
|
|
|
- gfapi: Add support for 'AT_EMPTY_PATH' and 'AT_REMOVEDIR' flag
|
|
|
|
|
|
2023-03-09 09:41:14 +08:00
|
|
|
* Thu Mar 9 2023 wuguanghao <wuguanghao3@huawei.com> - 10.3-2
|
|
|
|
|
- fix CVE-2023-26253
|
|
|
|
|
|
2022-12-05 07:58:08 +00:00
|
|
|
* Mon Dec 5 2022 lihaoxiang <lihaoxiang9@huawei.com> - 10.3-1
|
|
|
|
|
- Update to glusterfs-10.3-1
|
|
|
|
|
|
2022-10-18 14:41:58 +08:00
|
|
|
* Tue Oct 18 2022 zhanchengbin <zhanchengbin1@huawei.com> - 10.0-6
|
|
|
|
|
- license: fix license error.
|
|
|
|
|
|
2022-09-07 15:01:19 +08:00
|
|
|
* Wed Sep 7 2022 zhanchengbin <zhanchengbin1@huawei.com> - 10.0-5
|
|
|
|
|
- SC2081: [ .. ] can't match globs. Use [[ .. ]] or grep.
|
|
|
|
|
|
2022-01-28 14:33:32 +08:00
|
|
|
* Fri Jan 28 2022 imxcc <xingchaochao@huawei.com> - 10.0-4
|
|
|
|
|
- tcmalloc issues
|
|
|
|
|
|
2022-01-26 09:51:03 +08:00
|
|
|
* Wed Jan 26 2022 Wenchao Hao <haowenchao@huawei.com> - 10.0-3
|
|
|
|
|
- Change gluster-server "Requires" from pyxattr to python3-pyxattr
|
|
|
|
|
|
2022-01-26 09:19:48 +08:00
|
|
|
* Wed Jan 26 2022 Wenchao Hao <haowenchao@huawei.com> - 10.0-2
|
|
|
|
|
- Remove unnecessary subpackages ganesha and regression-test
|
|
|
|
|
|
2021-12-01 17:29:19 +08:00
|
|
|
* Wed Dec 1 2021 Wenchao Hao <haowenchao@huawei.com> - 10.0-1
|
2022-01-26 09:19:48 +08:00
|
|
|
- Update to glusterfs-10.0-1
|
2021-12-01 17:29:19 +08:00
|
|
|
|
2021-07-30 22:39:43 +08:00
|
|
|
* Fri Jul 30 2021 chenyanpanHW <chenyanpan@huawei.com> - 7.6-2
|
|
|
|
|
- DESC: delete -Sgit from %autosetup, and delete BuildRequires git
|
|
|
|
|
|
2020-07-16 19:25:23 +08:00
|
|
|
* Thu Jul 16 2020 yanglongkang <yanglongkang@huawei.com> - 7.6-1
|
|
|
|
|
- update package to 7.6
|
|
|
|
|
|
2020-02-24 10:00:46 +08:00
|
|
|
* Mon Feb 24 2020 renxudong<renxudong1@huawei.com> - 7.0-4
|
|
|
|
|
- Type:bugfix
|
|
|
|
|
- ID:NA
|
|
|
|
|
- SUG:NA
|
|
|
|
|
- DESC:fix glfs_new memory leak
|
|
|
|
|
|
2020-02-12 15:35:02 +08:00
|
|
|
* Wed Feb 12 2020 Ruijun Ge<geruijun@huawei.com> - 7.0-3
|
|
|
|
|
- Type:bugfix
|
|
|
|
|
- ID:NA
|
|
|
|
|
- SUG:NA
|
|
|
|
|
- DESC:fix install error
|
|
|
|
|
|
2020-01-14 10:35:16 +08:00
|
|
|
* Tue Jan 14 2020 renxudong<renxudong1@huawei.com> - 7.0-2
|
|
|
|
|
- Type:enhancement
|
|
|
|
|
- ID:NA
|
|
|
|
|
- SUG:NA
|
|
|
|
|
- DESC:delete useless files
|
|
|
|
|
|
2020-01-11 11:11:17 +08:00
|
|
|
* Sat Jan 11 2020 renxudong<renxudong1@huawei.com> - 7.0-1
|
2020-01-11 10:44:41 +08:00
|
|
|
- Type:Upgrade
|
|
|
|
|
- ID:NA
|
|
|
|
|
- SUG:NA
|
|
|
|
|
- DESC:upgrade to 7.0
|
|
|
|
|
|
2019-09-30 10:40:53 -04:00
|
|
|
* Sat Sep 21 2019 zoujing<zoujing13@huawei.com> - 4.1.5-3
|
|
|
|
|
- Type:enhancemnet
|
|
|
|
|
- ID:NA
|
|
|
|
|
- SUG:NA
|
|
|
|
|
- DESC:split the glusterfs-resource-agents
|
|
|
|
|
|
|
|
|
|
* Mon Sep 16 2019 zoujing<zoujing13@huawei.com> - 4.1.5-2
|
|
|
|
|
- Package init
|