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