# uncomment and add '%' to use the prereltag for pre-releases # %%global prereltag beta1 # if you wish to compile an rpm without fusermount... # rpmbuild -ta name-version.tar.gz --without fusermount %{?_without_fusermount:%global _without_fusermount --disable-fusermount} # if you wish to compile an rpm without geo-replication support, compile like this... # rpmbuild -ta name-version.tar.gz --without georeplication %{?_without_georeplication:%global _without_georeplication --disable-georeplication} # if you wish to compile an rpm without the OCF resource agents... # rpmbuild -ta name-version.tar.gz --without ocf %{?_without_ocf:%global _without_ocf --without-ocf} # if you wish to compile an rpm without the BD map support... # rpmbuild -ta name-version.tar.gz --without bd %{?_without_bd:%global _without_bd --disable-bd-xlator} # if you wish to compile an rpm without the qemu-block support... # rpmbuild -ta name-version.tar.gz --without qemu-block %{?_without_qemu_block:%global _without_qemu_block --disable-qemu-block} %define major 0 %define libname %mklibname glusterfs %{major} %define develname %mklibname -d glusterfs %define libnameapi %mklibname api %{major} %define develnameapi %mklibname -d api # (cg) Temporary hack to make it build %define _disable_ld_no_undefined 1 Summary: GlusterFS network/cluster filesystem Name: glusterfs Version: 3.5.2 %define subrel 2 Release: %mkrel 8 License: GPLv3+ Group: Networking/Other URL: http://www.gluster.org/docs/index.php/GlusterFS Source0: http://download.gluster.org/pub/gluster/glusterfs/3.4/%{version}/%{name}-%{version}.tar.gz Source1: glusterfsd.service Source2: glusterfsd.sysconfig Source3: glusterfsd.logrotate Source4: glusterfs.logrotate Patch0: multifrag.diff Patch1: CVE.patch BuildRequires: autoconf BuildRequires: bison BuildRequires: flex BuildRequires: gcc BuildRequires: make BuildRequires: fuse-devel >= 2.6.0 BuildRequires: libibverbs-devel BuildRequires: pkgconfig(libxml-2.0) >= 2.6.19 BuildRequires: readline-devel BuildRequires: libtool BuildRequires: openssl-devel BuildRequires: python-devel Requires(pre): rpm-helper >= %{rpmhelper_required_version} Requires(post): rpm-helper >= %{rpmhelper_required_version} Requires(post): systemd >= %{systemd_required_version} Requires(preun): rpm-helper >= %{rpmhelper_required_version} Requires(postun): rpm-helper >= %{rpmhelper_required_version} Obsoletes: %{name}-common < %{version}-%{release} Obsoletes: %{name}-core < %{version}-%{release} Obsoletes: %{name}-ufo Provides: %{name}-common = %{version}-%{release} Provides: %{name}-core = %{version}-%{release} # We do not want to generate useless provides and requires for xlator .so files # Filter all generated: # # modern rpm and current Mageia do not generate requires when the # provides are filtered %global __provides_exclude_from ^%{_libdir}/glusterfs/%{version}/.*$ %description GlusterFS is a clustered 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 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. %package -n %{libname} Summary: GlusterFS network/cluster filesystem library Group: System/Libraries Provides: glusterfs-libs, libglusterfs %description -n %{libname} GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system 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 userspace and easily manageable. Please visit http://www.gluster.org/docs/index.php/GlusterFS for more info. This package includes the libglusterfs and glusterfs translator modules common to both GlusterFS server and client framework. %package -n %{develname} Summary: Static library and header files for the GlusterFS library Group: Development/C Provides: %{name}-devel = %{version} Requires: %{libname} = %{version} %description -n %{develname} GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system 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 userspace and easily manageable. This package provides the development libraries and include files. %package -n %{develnameapi} Summary: Development/C Group: System/Libraries Requires: %{name} = %{version}-%{release} Requires: %{name}-devel = %{version}-%{release} %description -n %{develnameapi} GlusterFS is a clustered 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 api include files. %package regression-tests Summary: Development Tools Group: File tools Requires: %{name} = %{version}-%{release} Requires: %{name}-fuse = %{version}-%{release} Requires: %{name}-server = %{version}-%{release} Requires: perl(App::Prove) perl(Test::Harness) gcc util-linux-ng lvm2 Requires: python attr dbench git nfs-utils xfsprogs %description regression-tests The Gluster Test Framework, is a suite of scripts used for regression testing of Gluster. %package cli Summary: GlusterFS CLI Group: File tools Requires: %{name}-libs = %{version}-%{release} %description cli GlusterFS is a clustered 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 GlusterFS CLI application and its man page %if ( 0%{!?_without_rdma:1} ) %package rdma Summary: GlusterFS rdma support for ib-verbs Group: System/Libraries BuildRequires: libibverbs-devel BuildRequires: librdmacm-devel Requires: %{name} = %{version}-%{release} %description rdma GlusterFS is a clustered 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 support to ib-verbs library. %endif %package client Summary: GlusterFS client Group: Networking/Other Requires: %{name}-common = %{version} Requires(post): rpm-helper %description client GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system 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 userspace and easily manageable. This package is the client needed to mount a GlusterFS fs. %package fuse Summary: Fuse client Group: Networking/Other BuildRequires: fuse-devel Requires: %{name} = %{version}-%{release} Obsoletes: %{name}-client < %{version}-%{release} Provides: %{name}-client = %{version}-%{release} %description fuse GlusterFS is a clustered 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 support to FUSE based clients. %package server Summary: GlusterFS server Group: Networking/Other Requires: %{name}-common = %{version} Requires: %{name}-client = %{version} Requires(post): systemd >= %{systemd_required_version} Requires(post): rpm-helper Requires(preun): rpm-helper Requires(post): sed %description server GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system 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 userspace and easily manageable. This package is the server. %package api Summary: Clustered file-system api library Group: System/Servers Requires: %{name} = %{version}-%{release} # we provide the Python package/namespace 'gluster' Provides: python-gluster = %{version}-%{release} %description api GlusterFS is a clustered 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 glusterfs libgfapi library. %package extra-xlators Summary: Extra Gluster filesystem Translators Group: File tools # We need -api rpm for its __init__.py in Python site-packages area Requires: %{name}-api = %{version}-%{release} Requires: python python-ctypes %description extra-xlators GlusterFS is a clustered 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 extra filesystem Translators, such as Glupy, for GlusterFS. %package geo-replication Summary: GlusterFS Geo-replication Group: Networking/Other Requires: %{name}-common = %{version} Requires: %{name}-client = %{version} %description geo-replication GlusterFS is a clustered file-system capable of scaling to several peta-bytes. 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 system 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 userspace and easily manageable. This package provides support to geo-replication. %prep %setup -q %{name}-%{version} %patch0 -p1 %patch1 -p1 -b .CVE cp %{SOURCE2} glusterfsd.sysconfig cp %{SOURCE3} glusterfsd.logrotate cp %{SOURCE4} glusterfs.logrotate %build %serverbuild %configure2_5x --disable-static \ --disable-syslog \ %{?_without_rdma} \ %{?_without_epoll} \ %{?_without_fusermount} \ %{?_without_georeplication} \ %{?_without_ocf} \ %{?_without_syslog} \ %{?_without_bd} \ %{?_without_qemu_block} \ %{?_without_systemtap} # Remove rpath sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %make # Build Glupy pushd xlators/features/glupy/src FLAGS="$RPM_OPT_FLAGS" python setup.py build popd # Build the Python libgfapi examples pushd api/examples FLAGS="$RPM_OPT_FLAGS" python setup.py build popd %install %makeinstall_std # This is a config option but seems not working mv %{buildroot}/sbin/* %{buildroot}%{_sbindir} # install the Glupy Python library in /usr/lib/python*/site-packages pushd xlators/features/glupy/src python setup.py install --skip-build --verbose --root %{buildroot} popd # install the gfapi Python library in /usr/lib/python*/site-packages pushd api/examples python setup.py install --skip-build --verbose --root %{buildroot} popd # Install include directory mkdir -p %{buildroot}%{_includedir}/glusterfs install -p -m 0644 libglusterfs/src/*.h \ %{buildroot}%{_includedir}/glusterfs/ install -p -m 0644 contrib/uuid/*.h \ %{buildroot}%{_includedir}/glusterfs/ # Following needed by hekafs multi-tenant translator mkdir -p %{buildroot}%{_includedir}/glusterfs/rpc install -p -m 0644 rpc/rpc-lib/src/*.h \ %{buildroot}%{_includedir}/glusterfs/rpc/ install -p -m 0644 rpc/xdr/src/*.h \ %{buildroot}%{_includedir}/glusterfs/rpc/ mkdir -p %{buildroot}%{_includedir}/glusterfs/server install -p -m 0644 xlators/protocol/server/src/*.h \ %{buildroot}%{_includedir}/glusterfs/server/ install -D -p -m 0644 extras/glusterd-sysconfig \ %{buildroot}%{_sysconfdir}/sysconfig/glusterd # Remove unwanted files from all the shared libraries find %{buildroot} -name '*.la' | xargs rm -f find %{buildroot} -name '*.a' | xargs rm -f # 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 rm -rf %{buildroot}%{_pkgdocdir}/* 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 rm -rf %{buildroot}%{_defaultdocdir}/%{name}/benchmarking rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs-mode.el rm -f %{buildroot}%{_defaultdocdir}/%{name}/glusterfs.vim # 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 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 %{__install} -D -p -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}d.service %{__install} -d %{buildroot}%{_sysconfdir}/sysconfig %{__install} -d %{buildroot}%{_sysconfdir}/logrotate.d ### we use journal, let's remove outdated rsyslog files rm -f %{buildroot}extras/gluster-rsyslog-7.2.conf rm -f %{buildroot}extras/gluster-rsyslog-7.2.conf %{__install} -m0644 glusterfsd.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/glusterfsd %{__install} -m0644 glusterfsd.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd %{__install} -m0644 glusterfs.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/glusterfs # the rest of the ghosts touch %{buildroot}%{_sharedstatedir}/glusterd/glusterd.info touch %{buildroot}%{_sharedstatedir}/glusterd/options mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post mkdir -p %{buildroot}%{_sharedstatedir}/glusterd/hooks/1/gsync-create/pre touch %{buildroot}/%{_logdir}/glusterfs/glusterfs.log touch %{buildroot}/%{_logdir}/glusterfs/glusterfsd.log find ./tests ./run-tests.sh -type f | cpio -pd %{buildroot}%{_prefix}/share/glusterfs %post client %create_ghostfile %{_logdir}/glusterfs/glusterfs.log root root 0644 %post server %create_ghostfile %{_logdir}/glusterfs/glusterfsd.log root root 0644 %_post_service glusterd %_post_service %{name}d if [ -e /etc/glusterfs/glusterfs-server.vol ]; then echo "Updating /etc/sysconfig/glusterfsd to point to old /etc/glusterfs/glusterfs-server.vol file" sed -i 's|GLUSTERFSD_CONFIG_FILE="/etc/glusterfs/glusterfsd.vol"|GLUSTERFSD_CONFIG_FILE="/etc/glusterfs/glusterfs-server.vol"|g' /etc/sysconfig/glusterfsd # mv -n /etc/glusterfs/glusterfs-server.vol /etc/glusterfs/glusterfsd.vol fi %preun server %_preun_service glusterfsd %_preun_service glusterd %post geo-replication #restart glusterd. if [ $1 -ge 1 ]; then systemctl try-restart %1.service fi %files -n %{libname} # %doc README AUTHORS NEWS %{_libdir}/*.so.%{major}* %{_libdir}/glusterfs %files -n %{develname} %{_includedir}/glusterfs %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %files -n %{develnameapi} %{_libdir}/pkgconfig/glusterfs-api.pc %{_libdir}/pkgconfig/libgfchangelog.pc %{_libdir}/libgfapi.so %{_includedir}/glusterfs/api/* %files regression-tests %{_prefix}/share/glusterfs/* %exclude %{_prefix}/share/glusterfs/tests/basic/rpm.t %files %doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs %config(noreplace) %{_sysconfdir}/sysconfig/* %{_libdir}/glusterfs %{_sbindir}/glusterfs* %{_mandir}/man8/*gluster*.8* %exclude %{_mandir}/man8/gluster.8* %dir %{_localstatedir}/log/glusterfs ## This doesn't make sense but Fedora added it in 2013 ## /var/run/gluster - sync with gluster.org git #%dir %{_localstatedir}/run/gluster %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* %{_datadir}/glusterfs/scripts/post-upgrade-script-for-quota.sh %{_datadir}/glusterfs/scripts/pre-upgrade-script-for-quota.sh %files client %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/glusterfs %{_sbindir}/mount.glusterfs %{_bindir}/fusermount-glusterfs %attr(0644,root,root) %ghost %config(noreplace) %{_logdir}/glusterfs/glusterfs.log %{_mandir}/man8/mount.glusterfs.8* %files fuse %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse* %{_sbindir}/mount.glusterfs %if ( 0%{!?_without_fusermount:1} ) %{_bindir}/fusermount-glusterfs %endif %files server %doc extras/clear_xattrs.sh %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/glusterfsd %attr(0644,root,root) %ghost %config(noreplace) %{_logdir}/glusterfs/glusterfsd.log %config(noreplace) %{_sysconfdir}/sysconfig/glusterd %config(noreplace) %{_sysconfdir}/glusterfs # binaries %{_sbindir}/glusterd %{_sbindir}/glfsheal %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options %{_unitdir}/%{name}d.service %attr(0644,-,-)%{_unitdir}/glusterd.service %{_prefix}/lib/ocf/resource.d/glusterfs %ghost %attr(0644,-,-) %config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info %ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/options # This is really ugly, but I have no idea how to mark these directories in # any other way. They should belong to the glusterfs-server package, but # don't exist after installation. They are generated on the first start... %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/post %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/stop/pre %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/post %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/start/pre %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 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/post %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/add-brick/pre %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/post %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/set/pre %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/post %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/create/pre %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/post %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/hooks/1/delete/pre %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/vols %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/peers %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/groups %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 %files api %exclude %{_libdir}/*.so # Shared Python-GlusterFS files %{python_sitelib}/gluster/__init__.* # libgfapi files %{_libdir}/libgfapi.* %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/api* %{python_sitelib}/gluster/gfapi.* %{python_sitelib}/glusterfs_api*.egg-info %files extra-xlators # Glupy C shared library %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/glupy.so # Glupy Python files %{python_sitelib}/gluster/glupy.* %{python_sitelib}/glusterfs_glupy*.egg-info %files cli %{_sbindir}/gluster %{_mandir}/man8/gluster.8* %files geo-replication %config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep %{_libexecdir}/glusterfs/gsyncd %{_libexecdir}/glusterfs/python/syncdaemon/* %{_libexecdir}/glusterfs/gverify.sh %{_libexecdir}/glusterfs/peer_add_secret_pub %{_libexecdir}/glusterfs/peer_gsec_create %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/geo-replication %dir %{_sharedstatedir}/glusterd/hooks %dir %{_sharedstatedir}/glusterd/hooks/1 %dir %{_sharedstatedir}/glusterd/hooks/1/gsync-create %dir %{_sharedstatedir}/glusterd/hooks/1/gsync-create/post #####%{_sharedstatedir}/glusterd/hooks/1/gsync-create/post/S56glusterd-geo-rep-create-post.sh %{_datadir}/glusterfs/scripts/get-gfid.sh %{_datadir}/glusterfs/scripts/slave-upgrade.sh %{_datadir}/glusterfs/scripts/gsync-upgrade.sh %{_datadir}/glusterfs/scripts/generate-gfid-file.sh %{_datadir}/glusterfs/scripts/gsync-sync-gfid %ghost %attr(0644,-,-) %{_sharedstatedir}/glusterd/geo-replication/gsyncd_template.conf %changelog * Thu Aug 20 2015 spuhler <spuhler> 3.5.2-8.2.mga5 + Revision: 866342 - fixed patch to make only those changes based on our file version - added CVE patch - fixed permission glusterd.service - added missing %%_post_service glusterd to %%post server - added glusterd.service * it is needed in addidtion to glusterfsd.service - removed the double section files fuse * Tue Mar 24 2015 spuhler <spuhler> 3.5.2-8.mga5 + Revision: 819182 - added multifrag patch from OpenSuSE * fixes bug #15473 CVE-2014-3619 * Wed Oct 15 2014 umeabot <umeabot> 3.5.2-7.mga5 + Revision: 743056 - Second Mageia 5 Mass Rebuild * Sat Sep 27 2014 tv <tv> 3.5.2-6.mga5 + Revision: 726353 - rebuild for missing pythoneggs deps * Fri Sep 19 2014 spuhler <spuhler> 3.5.2-5.mga5 + Revision: 697392 - removed the upstream provided file glusterd.service - removed un-used %%{_unitdir}/glusterd.service * it was executable * Tue Sep 16 2014 umeabot <umeabot> 3.5.2-4.mga5 + Revision: 679666 - Mageia 5 Mass Rebuild * Sat Sep 13 2014 spuhler <spuhler> 3.5.2-3.mga5 + Revision: 675175 -removed %%_tmpfilescreate in %%post server * we removed this file * Thu Sep 11 2014 spuhler <spuhler> 3.5.2-2.mga5 + Revision: 674620 - added BuildRequires: python-devel * needed to build glupy - added the missing fuse package - added the build options similar to Fedora - added the missing logrotate files - removed the unneeded tempfiles * Sat Sep 06 2014 spuhler <spuhler> 3.5.2-1.mga5 + Revision: 672496 - more Group correction - remove /var/run/gluster file - corrected the Groups - more glupy files missing - commented out glupy* to make it build - changed %%make to make * it doesn't build glupy.so on the BS but does so locally - upgrade to version 3.5.2 * spec file based on upstream and Fedora - use of .service file from Fedora. This seems to be more stable - let it run as glusterfsd glusterfsd * Sat Nov 30 2013 thatsamguy <thatsamguy> 3.4.1-1.mga4 + Revision: 554136 - update version to 3.4.1 * Sat Oct 19 2013 umeabot <umeabot> 3.4.0-2.mga4 + Revision: 533551 - Mageia 4 Mass Rebuild * Sun Sep 01 2013 fwang <fwang> 3.4.0-1.mga4 + Revision: 473850 - update file list - drop unneeded dir - new version 3.4.0 * Sun Mar 24 2013 colin <colin> 3.3.1-2.mga3 + Revision: 404859 - Add systemd requires and general post/pre fixes (mga#9302) * Thu Jan 17 2013 colin <colin> 3.3.1-1.mga3 + Revision: 388939 - Add openssl-devel BR - New version: 3.3.1 - Rediff workingdir patch - Drop patches no longer apply (shouldn't be needed now) - Add geo-replication sub-package - Don't ship mount command in / (use /usr) - Fix file lists (man page dropped) - Switch to tmpfiles for /run dir + umeabot <umeabot> - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild + fwang <fwang> - br readline - br xml - new version 3.2.6 * Mon Aug 01 2011 fwang <fwang> 3.2.2-1.mga2 + Revision: 131097 - new version 3.2.2 * Sun Apr 10 2011 ennael <ennael> 3.0.0-2.mga1 + Revision: 82867 - clean spec file - imported package glusterfs * Mon Dec 06 2010 Funda Wang <fwang@mandriva.org> 3.0.0-2mdv2011.0 + Revision: 611833 - update file list + Oden Eriksson <oeriksson@mandriva.com> - rebuild * Sat Jan 30 2010 Funda Wang <fwang@mandriva.org> 3.0.0-1mdv2010.1 + Revision: 498597 - db storage not there any more - New version 3.0.0 * Sun Sep 20 2009 Michael Scherer <misc@mandriva.org> 2.0.6-1mdv2010.0 + Revision: 444885 - try to compile without -j, as this may help for weird errors + Funda Wang <fwang@mandriva.org> - use configure2_5x + Glen Ogilvie <nelg@mandriva.org> - This is a large upgrade, from 1.3.12 to 2.0.6. This includes updated configuration samples and init script. New features: * Distribute (DHT) translator * Replicate atomic write support * High Availability (HA) translator * Non-blocking I/O * Binary Protocol * NUFA translator * APIs via 'libglusterfsclient' library * Apache/Lighttpd embeddable 'mod_glusterfs' * Booster * Multiple OS support * OS X - Server and Client works. * Solaris 10 and above - Server part works file, Client part will be ported in future when FUSE is provided by Solaris. * FreeBSD 7.0 and above - Server and Client works. * Log message improvements * Stripe over tmpfs * Filter translator * Quota translator Full list of upgrade features at: http://www.gluster.com/community/documentation/index.php/Whats_New_v2.0 * Fri Sep 04 2009 Thierry Vignaud <tv@mandriva.org> 1.3.12-4mdv2010.0 + Revision: 429217 - rebuild * Tue Sep 16 2008 Oden Eriksson <oeriksson@mandriva.com> 1.3.12-3mdv2009.0 + Revision: 285247 - fix deps - rework the initscript and config * Tue Sep 16 2008 Oden Eriksson <oeriksson@mandriva.com> 1.3.12-2mdv2009.0 + Revision: 285163 - fix typo - added fixes requested by Jos?\195?\169 Antonio Becerra Permuy * Fri Sep 12 2008 Oden Eriksson <oeriksson@mandriva.com> 1.3.12-1mdv2009.0 + Revision: 284140 - 1.3.12 + Thierry Vignaud <tv@mandriva.org> - rebuild - kill re-definition of %%buildroot on Pixel's request + Olivier Blin <oblin@mandriva.com> - restore BuildRoot * Mon Apr 23 2007 Nicolas Vigier <nvigier@mandriva.com> 1.2.3-1mdv2008.0 + Revision: 17508 - Import glusterfs * Mon Apr 23 2007 Nicolas Vigier <nvigier@mandriva.com> - first version