Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > 76a979ee5ecaf3917f3781844f065a23 > files > 4

glusterfs-3.5.2-8.2.mga5.src.rpm

# 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