Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
This commit is contained in:
Kaleb S. KEITHLEY 2020-07-06 08:20:56 -04:00
parent a2a88a7c6e
commit 1a0a222ee2
2 changed files with 234 additions and 86 deletions

View File

@ -4,7 +4,7 @@
%global _for_fedora_koji_builds 1
# uncomment and add '%' to use the %%dev for pre-releases
%global dev rc0
# %%global dev rc0
##-----------------------------------------------------------------------------
## All argument definitions should be placed here and keep them sorted
@ -183,7 +183,7 @@ Summary: Distributed File System
%if ( 0%{_for_fedora_koji_builds} )
Name: glusterfs
Version: 8.0
Release: 0.3%{?dev:%{dev}}%{?dist}
Release: 1%{?dev:%{dev}}%{?dist}
%else
Name: @PACKAGE_NAME@
Version: @PACKAGE_VERSION@
@ -205,7 +205,9 @@ Patch0001: 0001-api-libgfapi-symbol-versions-break-LTO-in-Fedora-raw.patc
Requires(pre): shadow-utils
BuildRequires: systemd
Requires: %{name}-libs = %{version}-%{release}
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Requires: libgfrpc0%{?_isa} = %{version}-%{release}
Requires: libgfxdr0%{?_isa} = %{version}-%{release}
%{?systemd_requires}
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
@ -272,42 +274,10 @@ This package includes the glusterfs binary, the glusterfsd daemon and the
libglusterfs and glusterfs translator modules common to both GlusterFS server
and client framework.
%package api
Summary: GlusterFS api library
Requires: %{name} = %{version}-%{release}
Requires: %{name}-client-xlators = %{version}-%{release}
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%description api
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the glusterfs libgfapi library.
%package api-devel
Summary: Development Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-devel = %{version}-%{release}
Requires: libacl-devel
%description api-devel
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the api include files.
%package cli
Summary: GlusterFS CLI
Requires: %{name}-libs = %{version}-%{release}
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Requires: libglusterd0%{?_isa} = %{version}-%{release}
%description cli
GlusterFS is a distributed file-system capable of scaling to several
@ -346,23 +316,6 @@ Much of the code in GlusterFS is in user space and easily manageable.
This package provides cloudsync plugins for archival feature.
%package devel
Summary: Development Libraries
Requires: %{name} = %{version}-%{release}
# Needed for the Glupy examples to work
Requires: %{name}-extra-xlators = %{version}-%{release}
%description devel
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the development libraries and include files.
%if ( 0%{!?_without_events:1} )
%package events
Summary: GlusterFS Events
@ -516,12 +469,16 @@ is in user space and easily manageable.
This package provides the glusterfs legacy gNFS server xlator
%endif
%package libs
Summary: GlusterFS common libraries
%package -n libglusterfs0
Summary: GlusterFS libglusterfs library
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
Requires: libgfrpc0%{?_isa} = %{version}-%{release}
Requires: libgfxdr0%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-libs <= %{version}-%{release}
Provides: %{name}-libs = %{version}-%{release}
%description libs
%description -n libglusterfs0
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
@ -529,7 +486,163 @@ most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the base GlusterFS libraries
This package provides the base libglusterfs library
%package -n libglusterfs-devel
Summary: GlusterFS libglusterfs library
Requires: libgfrpc-devel%{?_isa} = %{version}-%{release}
Requires: libgfxdr-devel%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-devel <= %{version}-%{release}
Provides: %{name}-devel = %{version}-%{release}
%description -n libglusterfs-devel
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides libglusterfs.so and the gluster C header files.
%package -n libgfapi0
Summary: GlusterFS api library
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Requires: %{name}-client-xlators%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-api <= %{version}-%{release}
Provides: %{name}-api = %{version}-%{release}
%description -n libgfapi0
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the glusterfs libgfapi library.
%package -n libgfapi-devel
Summary: Development Libraries
Requires: libglusterfs-devel%{?_isa} = %{version}-%{release}
Requires: libacl-devel
Obsoletes: %{name}-api-devel <= %{version}-%{release}
Provides: %{name}-api-devel = %{version}-%{release}
%description -n libgfapi-devel
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides libgfapi.so and the api C header files.
%package -n libgfchangelog0
Summary: GlusterFS libchangelog library
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-libs <= %{version}-%{release}
%description -n libgfchangelog0
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the libgfchangelog library
%package -n libgfchangelog-devel
Summary: GlusterFS libchangelog library
Requires: libglusterfs-devel%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-devel <= %{version}-%{release}
%description -n libgfchangelog-devel
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides libgfchangelog.so and changelog C header files.
%package -n libgfrpc0
Summary: GlusterFS libgfrpc0 library
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-libs <= %{version}-%{release}
%description -n libgfrpc0
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the libgfrpc library
%package -n libgfrpc-devel
Summary: GlusterFS libgfrpc library
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-devel <= %{version}-%{release}
%description -n libgfrpc-devel
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides libgfrpc.so and rpc C header files.
%package -n libgfxdr0
Summary: GlusterFS libgfxdr0 library
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-libs <= %{version}-%{release}
%description -n libgfxdr0
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the libgfxdr library
%package -n libgfxdr-devel
Summary: GlusterFS libgfxdr library
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-devel <= %{version}-%{release}
%description -n libgfxdr-devel
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides libgfxdr.so.
%package -n libglusterd0
Summary: GlusterFS libglusterd library
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-libs <= %{version}-%{release}
%description -n libglusterd0
GlusterFS is a distributed file-system capable of scaling to several
petabytes. It aggregates various storage bricks over TCP/IP interconnect
into one large parallel network filesystem. GlusterFS is one of the
most sophisticated file systems in terms of features and extensibility.
It borrows a powerful concept called Translators from GNU Hurd kernel.
Much of the code in GlusterFS is in user space and easily manageable.
This package provides the libglusterd library
%package -n python%{_pythonver}-gluster
Summary: GlusterFS python library
@ -595,12 +708,13 @@ like Pacemaker.
%package server
Summary: Distributed file-system server
Requires: %{name} = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
Requires: libglusterfs0%{?_isa} = %{version}-%{release}
Requires: libgfchangelog0%{?_isa} = %{version}-%{release}
Requires: %{name}-cli = %{version}-%{release}
# some daemons (like quota) use a fuse-mount, glusterfsd is part of -fuse
Requires: %{name}-fuse = %{version}-%{release}
# self-heal daemon, rebalance, nfs-server etc. are actually clients
Requires: %{name}-api = %{version}-%{release}
Requires: libgfapi0%{?_isa} = %{version}-%{release}
Requires: %{name}-client-xlators = %{version}-%{release}
# lvm2 for snapshot, and nfs-utils and rpcbind/portmap for gnfs server
Requires: psmisc
@ -829,8 +943,18 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \
%endif
exit 0
# post and postun scriptlets for api
%ldconfig_scriptlets api
# post and postun scriptlets for libs
%ldconfig_scriptlets libglusterfs0
%ldconfig_scriptlets libgfchangelog0
%ldconfig_scriptlets libgfapi0
%ldconfig_scriptlets libgfrpc0
%ldconfig_scriptlets libgfxdr0
%ldconfig_scriptlets libgfglusterd0
%if ( 0%{!?_without_events:1} )
%post events
@ -1109,20 +1233,6 @@ exit 0
%exclude %{_prefix}/lib/ocf/resource.d/heartbeat/*
%endif
%files api
%exclude %{_libdir}/*.so
# libgfapi files
%{_libdir}/libgfapi.*
%dir %{_libdir}/glusterfs/%{version}%{?dev}/xlator/mount
%{_libdir}/glusterfs/%{version}%{?dev}/xlator/mount/api.so
%files api-devel
%{_libdir}/pkgconfig/glusterfs-api.pc
%{_libdir}/libgfapi.so
%dir %{_includedir}/glusterfs
%dir %{_includedir}/glusterfs/api
%{_includedir}/glusterfs/api/*
%files cli
%{_sbindir}/gluster
%{_mandir}/man8/gluster.8*
@ -1139,14 +1249,33 @@ exit 0
%{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins/cloudsyncs3.so
%{_libdir}/glusterfs/%{version}%{?dev}/cloudsync-plugins/cloudsynccvlt.so
%files devel
%files -n libglusterfs-devel
%dir %{_includedir}/glusterfs
%{_includedir}/glusterfs/*
%exclude %{_includedir}/glusterfs/api
%exclude %{_libdir}/libgfapi.so
%{_libdir}/*.so
%{_includedir}/glusterfs/*.h
%{_includedir}/glusterfs/server/*.h
%{_libdir}/libglusterfs.so
%files -n libgfapi-devel
%dir %{_includedir}/glusterfs/api
%{_includedir}/glusterfs/api/*.h
%{_libdir}/libgfapi.so
%{_libdir}/pkgconfig/glusterfs-api.pc
%files -n libgfchangelog-devel
%dir %{_includedir}/glusterfs/gfchangelog
%{_includedir}/glusterfs/gfchangelog/*.h
%{_libdir}/libgfchangelog.so
%{_libdir}/pkgconfig/libgfchangelog.pc
%files -n libgfrpc-devel
%dir %{_includedir}/glusterfs/rpc
%{_includedir}/glusterfs/rpc/*.h
%{_libdir}/libgfrpc.so
%files -n libgfxdr-devel
%{_libdir}/libgfxdr.so
# Events
%if ( 0%{!?_without_events:1} )
%files events
@ -1241,10 +1370,26 @@ exit 0
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre
%endif
%files libs
%{_libdir}/*.so.*
%exclude %{_libdir}/libgfapi.*
# libgfdb is only needed server-side
%files -n libglusterfs0
%{_libdir}/libglusterfs.so.*
%files -n libgfapi0
%{_libdir}/libgfapi.so.*
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api.so
%files -n libgfchangelog0
%{_libdir}/libgfchangelog.so.*
%files -n libgfrpc0
%{_libdir}/libgfrpc.so.*
%files -n libgfxdr0
%{_libdir}/libgfxdr.so.*
%files -n libglusterd0
%{_libdir}/libglusterd.so.*
%exclude %{_libdir}/libglusterd.so
%files -n python%{_pythonver}-gluster
# introducing glusterfs module in site packages.
@ -1434,6 +1579,9 @@ exit 0
%{_unitdir}/gluster-ta-volume.service
%changelog
* Mon Jul 6 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 8.0-1
- 8.0 GA
* Sat Jul 4 2020 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 8.0-0.3rc0
- 8.0 fix symbol versions, enable LTO

View File

@ -1 +1 @@
SHA512 (glusterfs-8.0rc0.tar.gz) = f435cf564b1f435f39efe86e1a2b8a195171c1957d5646959eccc69080d8f472db2897d164a71aefa98aca9458211f367e1fe4347ee78afe65f31c832e10d52b
SHA512 (glusterfs-8.0.tar.gz) = 6af94f31e08e9ba9d1f3f674678553815933f8db58672d4225f855dc47f3290e1ad22f44dbe95856f82120bf195bc2df7dbd02c88e3a27d9363877891c619b58