Sophie

Sophie

distrib > Mandriva > 2010.2 > i586 > media > contrib-release-src > by-pkgid > c6c386bf7e47e60c83632ee0230b76f9 > files > 5

glusterfs-3.0.0-1mdv2010.1.src.rpm

%define	major 0
%define libname	%mklibname glusterfs %{major}
%define develname %mklibname -d glusterfs

Summary:	GlusterFS network/cluster filesystem
Name:		glusterfs
Version:	3.0.0
Release:	%mkrel 1
License:	GPLv3+
Group:		Networking/Other
URL: 		http://www.gluster.org/docs/index.php/GlusterFS
Source0:	ftp://ftp.gluster.com/pub/gluster/glusterfs/3.0/%{version}/%{name}-%{version}.tar.gz
Source1:	glusterfsd.init
Source2:	glusterfsd.sysconfig
Source3:	glusterfsd.logrotate
Source4:	glusterfs.logrotate
Patch0:	glusterfs-sprint.patch
Patch1:		glusterfs-3.0.0-link.patch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires:	autoconf
BuildRequires:	bison
BuildRequires:	flex
BuildRequires:	gcc
BuildRequires:	make
BuildRequires:	fuse-devel >= 2.6.0
BuildRequires:	libibverbs-devel
BuildRequires:	libtool

%description
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.

%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.

Please visit http://www.gluster.org/docs/index.php/GlusterFS for more info.

This package contains the static GlusterFS library and its header files.

%package	common
Summary:	The common files needed by GlusterFS for client and server
Group:		Networking/Other
Requires:	fuse >= 2.6.0
Requires:	libglusterfs

%description	common
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 glusterfs binaries and documentation. These are needed by both glusterfs
client and server.

%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	server
Summary:	GlusterFS server
Group:		Networking/Other
Requires:	%{name}-common = %{version}
Requires:	%{name}-client = %{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.

%prep
%setup -q %{name}-%{version}
%patch1 -p0 -b .link
#patch0 -p1
cp %{SOURCE1} glusterfsd.init
cp %{SOURCE2} glusterfsd.sysconfig
cp %{SOURCE3} glusterfsd.logrotate
cp %{SOURCE4} glusterfs.logrotate

%build
%configure2_5x
# 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

%install
%{__rm} -rf %{buildroot} 
%{__make} install DESTDIR=%{buildroot}
%{__mkdir_p} %{buildroot}%{_includedir}/glusterfs
%{__mkdir_p} %{buildroot}/var/log/glusterfs
%{__install} -p -m 0644 libglusterfs/src/*.h \
    %{buildroot}%{_includedir}/glusterfs/

# Remove unwanted files from all the shared libraries
find %{buildroot}%{_libdir}/glusterfs -name '*.la' | xargs rm -f

install -d %{buildroot}%{_initrddir}
install -d %{buildroot}%{_sysconfdir}/sysconfig
install -d %{buildroot}%{_sysconfdir}/logrotate.d
install -d %{buildroot}/var/run/glusterfsd

install -m0755 glusterfsd.init %{buildroot}%{_initrddir}/glusterfsd
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

touch %{buildroot}/var/log/glusterfs/glusterfs.log
touch %{buildroot}/var/log/glusterfs/glusterfsd.log

# remove default startup script
%{__rm} %{buildroot}/etc/init.d/glusterfsd

# fix docs
#rm -rf installed_docs
#mv %{buildroot}%{_docdir}/glusterfs installed_docs

%if %mdkversion < 200900
%post -n %{libname} -p /sbin/ldconfig
%endif

%if %mdkversion < 200900
%postun -n %{libname} -p /sbin/ldconfig
%endif

%post client
%create_ghostfile /var/log/glusterfs/glusterfs.log root root 0644

%post server
%create_ghostfile /var/log/glusterfs/glusterfsd.log root root 0644
%_post_service glusterfsd
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

%clean
rm -rf %{buildroot}

%files -n %{libname}
%defattr(-,root,root)
# %doc README AUTHORS NEWS
%{_libdir}/*.so.%{major}*
%{_libdir}/glusterfs

%files -n %{develname}
%defattr(-,root,root,-)
%{_includedir}/glusterfs
%{_includedir}/libglusterfsclient.h
%{_datadir}/glusterfs/*.py
%exclude %{_includedir}/glusterfs/y.tab.h
%{_libdir}/*.a
%exclude %{_libdir}/*.la
%{_libdir}/*.so

%files common
%defattr(-,root,root)
# %doc AUTHORS ChangeLog COPYING INSTALL NEWS README
# %doc installed_docs/*
%docdir %{_docdir}/glusterfs
%doc %{_docdir}/glusterfs/*
%{_sysconfdir}/glusterfs/glusterfs*
%{_bindir}/glusterfs-volgen
%{_mandir}/man8/glusterfs.8*
%dir /var/log/glusterfs
%{_sbindir}/glusterfs
%{_sbindir}/glusterfsd

%files client
%defattr(-,root,root)
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/glusterfs
/sbin/mount.glusterfs
%{_mandir}/man8/mount.glusterfs.8.*
%attr(0644,root,root) %ghost %config(noreplace) /var/log/glusterfs/glusterfs.log

%files server
%defattr(-,root,root)
%attr(0755,root,root) %{_initrddir}/glusterfsd
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/sysconfig/glusterfsd
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/glusterfsd
%attr(0644,root,root) %ghost %config(noreplace) /var/log/glusterfs/glusterfsd.log
%dir /var/run/glusterfsd


%changelog
* 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 <tvignaud@mandriva.com> 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 <tvignaud@mandriva.com>
    - 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