diff --git a/glusterfs.spec b/glusterfs.spec index 4b89fe1..584798d 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -160,7 +160,7 @@ Summary: Cluster File System %if ( 0%{_for_fedora_koji_builds} ) Name: glusterfs Version: 3.7.0 -Release: 0.3%{?prereltag:.%{prereltag}}%{?dist} +Release: 0.4%{?prereltag:.%{prereltag}}%{?dist} Vendor: Fedora Project %else Name: @PACKAGE_NAME@ @@ -190,19 +190,9 @@ BuildRequires: python-simplejson %if ( 0%{?_with_systemd:1} ) %if ( 0%{_for_fedora_koji_builds} ) %global glusterfsd_service %{S:%{SOURCE7}} -%endif -BuildRequires: systemd-units -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units %else -%if ( 0%{_for_fedora_koji_builds} ) %global glusterfsd_service %{S:%{SOURCE8}} %endif -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/service -Requires(preun): /sbin/chkconfig -Requires(postun): /sbin/service %endif Requires: %{name}-libs = %{version}-%{release} @@ -251,14 +241,14 @@ 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 -gluster command line, libglusterfs and glusterfs translator modules common to -both GlusterFS server and client framework. +This package includes the libglusterfs and glusterfs translator modules +common to both GlusterFS server and client framework. %package api Summary: GlusterFS api library Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} +Requires: %{name}-client-xlators = %{version}-%{release} # we provide the Python package/namespace 'gluster' Provides: python-gluster = %{version}-%{release} @@ -351,6 +341,7 @@ Group: Applications/File BuildRequires: fuse-devel Requires: %{name} = %{version}-%{release} +Requires: %{name}-client-xlators = %{version}-%{release} Requires: attr Obsoletes: %{name}-client < %{version}-%{release} @@ -365,7 +356,8 @@ 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. +This package provides support to FUSE based clients and includes the +glusterfsd and glusterfs binaries. %package ganesha Summary: NFS-Ganesha configuration @@ -505,14 +497,26 @@ like Pacemaker. Summary: Clustered file-system server Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} -Requires: %{name}-cli = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-cli = %{version}-%{release} Requires: %{name}-fuse = %{version}-%{release} +Requires: %{name}-client-xlators = %{version}-%{release} # psmisc for killall, lvm2 for snapshot, and nfs-utils and # and rpcbind/portmap for gnfs server Requires: psmisc Requires: lvm2 Requires: nfs-utils +%if ( 0%{?_with_systemd:1} ) +BuildRequires: systemd-units +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +%else +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/service +Requires(preun): /sbin/chkconfig +Requires(postun): /sbin/service +%endif %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) Requires: rpcbind %else @@ -533,6 +537,23 @@ is in user space and easily manageable. This package provides the glusterfs server daemon. +%package client-xlators +Summary: GlusterFS client-side translators +Group: Applications/File + +Requires: %{name}-fuse = %{version}-%{release} + +%description client-xlators +GlusterFS is a distributed file-system capable of scaling to several +petabytes. It aggregates various storage bricks over Infiniband RDMA +or TCP/IP interconnect into one large parallel network file +system. GlusterFS is one of the most sophisticated file systems in +terms of features and extensibility. It borrows a powerful concept +called Translators from GNU Hurd kernel. Much of the code in GlusterFS +is in user space and easily manageable. + +This package provides the translators needed on any GlusterFS client. + %prep %setup -q -n %{name}-%{version}%{?prereltag} @@ -876,53 +897,61 @@ fi /sbin/ldconfig ##----------------------------------------------------------------------------- -## All %files should be placed here and keep them sorted +## All %files should be placed here and keep them sorted by groups ## %files %doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README.md THANKS -%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs -%config(noreplace) %{_sysconfdir}/sysconfig/* %if ( 0%{!?_without_syslog:1} ) %if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 ) %{_sysconfdir}/rsyslog.d/gluster.conf.example %endif %endif -%{_libdir}/glusterfs -%{_sbindir}/glusterfs* %{_mandir}/man8/*gluster*.8* %exclude %{_mandir}/man8/gluster.8* %dir %{_localstatedir}/log/glusterfs -%dir %{_localstatedir}/run/gluster -%if 0%{?_tmpfilesdir:1} -%{_tmpfilesdir}/gluster.conf -%endif -%dir %{_sharedstatedir}/glusterd %if ( 0%{!?_without_rdma:1} ) %exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/rpc-transport/rdma* %endif -# server-side, etc., xlators in other RPMs -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api* -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse* -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage* -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/posix* -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* -# Glupy files are in the -extra-xlators package -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy* -# sample xlators not generally used or usable -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13* -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat* -%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache* %dir %{_datadir}/glusterfs/scripts %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh +# xlators that are needed on the client- and on the server-side +%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/debug +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/error-gen.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/io-stats.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/debug/trace.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/crypt.so +%{_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/gfid-access.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/meta.so +%{_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/system/posix-acl.so %files api %exclude %{_libdir}/*.so # libgfapi files %{_libdir}/libgfapi.* -%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api.so %files api-devel %{_libdir}/pkgconfig/glusterfs-api.pc @@ -947,9 +976,24 @@ fi %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/helloworld.* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy/negative.* +%files client-xlators +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/*.so +%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/pump.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/ganesha.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/qemu-block.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/client.so + %files extra-xlators -# Glupy C shared library +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/encryption/rot-13.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/mac-compat.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/marker.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_client.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_dht.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/prot_server.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quiesce.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/features/template.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/testing/performance/symlink-cache.so # Glupy Python files %{python_sitelib}/gluster # Don't expect a .egg-info file on EL5 @@ -958,7 +1002,11 @@ fi %endif %files fuse -%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse* +# glusterfs is a symlink to glusterfsd, -server depends on -fuse. +%{_sbindir}/glusterfs +%{_sbindir}/glusterfsd +%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse.so /sbin/mount.glusterfs %if ( 0%{!?_without_fusermount:1} ) %{_bindir}/fusermount-glusterfs @@ -1030,6 +1078,11 @@ fi %doc extras/clear_xattrs.sh %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %config(noreplace) %{_sysconfdir}/glusterfs +%dir %{_localstatedir}/run/gluster +%if 0%{?_tmpfilesdir:1} +%{_tmpfilesdir}/gluster.conf +%endif +%dir %{_sharedstatedir}/glusterd %dir %{_sharedstatedir}/glusterd/groups %config(noreplace) %{_sharedstatedir}/glusterd/groups/virt # Legacy configs @@ -1037,6 +1090,7 @@ fi %config(noreplace) %{_sysconfdir}/sysconfig/glusterfsd %endif %config %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre/S28Quota-enable-root-xattr-heal.sh +%config %{_sharedstatedir}/glusterd/hooks/1/add-brick/post/disabled-quota-root-xattr-heal.sh %config %{_sharedstatedir}/glusterd/hooks/1/set/post/S30samba-set.sh %config %{_sharedstatedir}/glusterd/hooks/1/set/post/S31ganesha-set.sh %config %{_sharedstatedir}/glusterd/hooks/1/start/post/S29CTDBsetup.sh @@ -1052,13 +1106,26 @@ fi # binaries %{_sbindir}/glusterd %{_sbindir}/glfsheal -%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage* +# {_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. +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/cluster/pump.so +%{_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/changetimerecorder.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/protocol/server* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/snapview-server.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/quota* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/trash.so +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/upcall.so %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server* +%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/storage* %{_libdir}/libgfdb.so.* -%{_sharedstatedir}/glusterd #snap_scheduler %{_sbindir}/snap_scheduler.py @@ -1115,6 +1182,9 @@ fi %changelog +* Fri May 8 2015 Kaleb S. KEITHLEY 3.7.0-0.4beta1 +- GlusterFS 3.7.0beta1, BZ 1195947, 1218440 + * Tue May 5 2015 Kaleb S. KEITHLEY 3.7.0-0.3beta1 - GlusterFS 3.7.0beta1, BZ 1218442