summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--glusterfs.spec.in103
1 files changed, 81 insertions, 22 deletions
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
index 06aaa2e3daf..feee809032e 100644
--- a/glusterfs.spec.in
+++ b/glusterfs.spec.in
@@ -31,6 +31,14 @@
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_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 @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without bd
+%{?_without_bd:%global _without_bd --disable-bd-xlator}
+
+%if ( 0%{?rhel} && 0%{?rhel} < 6 )
+%define _without_bd true
+%endif
+
%if ( 0%{?fedora} && 0%{?fedora} > 16 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
%global _with_systemd true
%endif
@@ -51,18 +59,18 @@ License: GPLv2 or LGPLv3+
Group: System Environment/Base
URL: http://www.gluster.org/docs/index.php/GlusterFS
%if ( 0%{_for_fedora_koji_builds} )
-Source0: http://download.gluster.org/pub/gluster/glusterfs/qa-releases/%{PACKAGE_VERSION}%{?prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz
+Source0: http://download.gluster.org/pub/gluster/glusterfs/3.4/%{version}%{?prereltag}/glusterfs-%{version}%{?prereltag}.tar.gz
Source1: glusterd.sysconfig
Source2: glusterfsd.sysconfig
-Source3: umount.glusterfs
-Source4: glusterfs-fuse.logrotate
-Source5: glusterd.logrotate
-Source6: glusterfsd.logrotate
-Source7: rhel5-load-fuse-modules
+Source3: glusterfs-fuse.logrotate
+Source4: glusterd.logrotate
+Source5: glusterfsd.logrotate
+Source6: rhel5-load-fuse-modules
Source11: glusterfsd.service
Source13: glusterfsd.init
Patch0: %{name}-3.2.5.configure.ac.patch
Patch1: %{name}-3.3.0.libglusterfs.Makefile.patch
+Patch2: %{name}-3.3.1.rpc.rpcxprt.rdma.name.c.patch
%else
Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz
%endif
@@ -70,6 +78,9 @@ Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
%if ( 0%{?_with_systemd:1} )
+%if ( 0%{_for_fedora_koji_builds} )
+%global glusterfsd_service %{S:%{SOURCE11}}
+%endif
BuildRequires: systemd-units
Requires(post): systemd-units
Requires(preun): systemd-units
@@ -78,10 +89,14 @@ Requires(postun): systemd-units
%define _init_disable() /bin/systemctl disable %1.service ;
%define _init_restart() /bin/systemctl try-restart %1.service ;
%define _init_stop() /bin/systemctl stop %1.service ;
+%define _init_install() %{__install} -D -p -m 0644 %1 %{buildroot}%{_unitdir}/%2.service ;
# can't seem to make a generic macro that works
%define _init_glusterd %{_unitdir}/glusterd.service
%define _init_glusterfsd %{_unitdir}/glusterfsd.service
%else
+%if ( 0%{_for_fedora_koji_builds} )
+%global glusterfsd_service %{S:%{SOURCE13}}
+%endif
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/service
Requires(preun): /sbin/chkconfig
@@ -90,6 +105,7 @@ Requires(postun): /sbin/service
%define _init_disable() /sbin/chkconfig --del %1 ;
%define _init_restart() /sbin/service %1 condrestart &>/dev/null ;
%define _init_stop() /sbin/service %1 stop &>/dev/null ;
+%define _init_install() %{__install} -D -p -m 0755 %1 %{buildroot}%{_sysconfdir}/init.d/%2 ;
# can't seem to make a generic macro that works
%define _init_glusterd %{_sysconfdir}/init.d/glusterd
%define _init_glusterfsd %{_sysconfdir}/init.d/glusterfsd
@@ -104,8 +120,10 @@ BuildRequires: systemtap-sdt-devel
BuildRequires: python-devel
BuildRequires: python-ctypes
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
+%if ( 0%{!?_without_bd:1} )
BuildRequires: lvm2-devel
%endif
+%endif
Obsoletes: hekafs <= 0.7
Obsoletes: %{name}-libs <= 2.0.0
@@ -143,6 +161,21 @@ 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 libs
+Summary: GlusterFS common libraries
+Group: Applications/File
+
+%description libs
+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 base GlusterFS libraries
+
%if ( 0%{!?_without_rdma:1} )
%package rdma
Summary: GlusterFS rdma support for ib-verbs
@@ -208,6 +241,7 @@ Summary: Clustered file-system server
License: GPLv3+
Group: System Environment/Daemons
Requires: %{name} = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
Requires: %{name}-fuse = %{version}-%{release}
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
Requires: rpcbind
@@ -316,11 +350,14 @@ This package provides the api include files.
%if ( 0%{_for_fedora_koji_builds} )
#%patch0 -p0
%patch1 -p0 -F4
+%if ( "%{version}" == "3.3.1" )
+%patch2 -p1
+%endif
%endif
%build
./autogen.sh
-%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf}
+%configure %{?_without_rdma} %{?_without_epoll} %{?_without_fusermount} %{?_without_georeplication} %{?_without_ocf} %{?_without_bd}
# fix hardening and remove rpath in shlibs
%if ( 0%{?fedora} && 0%{?fedora} > 17 ) || ( 0%{?rhel} && 0%{?rhel} > 6 )
@@ -361,7 +398,7 @@ This package provides the api include files.
%if ( 0%{_for_fedora_koji_builds} )
%if ( 0%{?rhel} && 0%{?rhel} <= 5 )
-%{__install} -D -p -m 0755 %{SOURCE7} \
+%{__install} -D -p -m 0755 %{SOURCE6} \
%{buildroot}%{_sysconfdir}/sysconfig/modules/glusterfs-fuse.modules
%endif
%endif
@@ -396,19 +433,23 @@ EOM
sed -i 's|option working-directory /etc/glusterd|option working-directory %{_sharedstatedir}/glusterd|g' \
%{buildroot}%{_sysconfdir}/glusterfs/glusterd.vol
+# Install glusterfsd .service or init.d file
+%if ( 0%{?_with_systemd:1} )
+%if ( 0%{_for_fedora_koji_builds} )
+%_init_install %{glusterfsd_service} glusterfsd
+%endif
+%endif
+
%if ( 0%{_for_fedora_koji_builds} )
-# Install wrapper umount script
-%{__install} -D -p -m 0755 %{SOURCE3} \
- %{buildroot}/sbin/umount.glusterfs
# Client logrotate entry
-%{__install} -D -p -m 0644 %{SOURCE4} \
+%{__install} -D -p -m 0644 %{SOURCE3} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfs-fuse
# Server logrotate entry
-%{__install} -D -p -m 0644 %{SOURCE5} \
+%{__install} -D -p -m 0644 %{SOURCE4} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterd
# Legacy server logrotate entry
-%{__install} -D -p -m 0644 %{SOURCE6} \
+%{__install} -D -p -m 0644 %{SOURCE5} \
%{buildroot}%{_sysconfdir}/logrotate.d/glusterfsd
%else
%{__install} -D -p -m 0644 extras/glusterfs-logrotate \
@@ -469,11 +510,8 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%doc ChangeLog COPYING-GPLV2 COPYING-LGPLV3 INSTALL README THANKS
%config(noreplace) %{_sysconfdir}/logrotate.d/*
%config(noreplace) %{_sysconfdir}/sysconfig/*
-%exclude %{_libdir}/libgfapi.*
%{_libdir}/glusterfs
-%{_libdir}/*.so.*
%{_sbindir}/glusterfs*
-%{_libexecdir}/glusterfs
%{_mandir}/man8/*gluster*.8*
%dir %{_localstatedir}/log/glusterfs
%dir %{_localstatedir}/run/gluster
@@ -481,6 +519,7 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%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*
@@ -488,7 +527,20 @@ touch %{buildroot}%{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
%exclude %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
+# 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*
+
+%post libs
+/sbin/ldconfig
+%postun libs
+/sbin/ldconfig
+
+%files libs
+%{_libdir}/*.so.*
+%exclude %{_libdir}/libgfapi.*
%if ( 0%{!?_without_rdma:1} )
%files rdma
@@ -518,9 +570,6 @@ fi
%endif
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mount/fuse*
/sbin/mount.glusterfs
-%if ( 0%{_for_fedora_koji_builds} )
-/sbin/umount.glusterfs
-%endif
%if ( 0%{!?_without_fusermount:1} )
%{_bindir}/fusermount-glusterfs
%endif
@@ -556,6 +605,7 @@ fi
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/protocol/server*
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/mgmt*
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/nfs*
+%config(noreplace) %{_sharedstatedir}/glusterd/glusterd.info
%ghost %attr(0644,-,-) %{_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 an
@@ -593,6 +643,12 @@ fi
%ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/nfs/run
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
+%post api
+/sbin/ldconfig
+
+%postun api
+/sbin/ldconfig
+
%files api
%exclude %{_libdir}/*.so
%{_libdir}/libgfapi.*
@@ -682,8 +738,11 @@ if [ $1 -ge 1 ]; then
fi
%changelog
+* Tue Jul 30 2013 Kaleb S. KEITHLEY <kkeithle@redhat.com>
+- Sync with Fedora glusterfs.spec, add glusterfs-libs RPM for oVirt/qemu-kvm
+
* Thu Jun 27 2013 Kaleb S. KEITHLEY <kkeithle@redhat.com>
-- fix the hardening fix for shlibs, use %{__sed} macro, shorter ChangeLog
+- fix the hardening fix for shlibs, use %%{__sed} macro, shorter ChangeLog
* Wed Jun 26 2013 Niels de Vos <ndevos@redhat.com>
- move the mount/api xlator to glusterfs-api
@@ -925,7 +984,7 @@ fi
* Wed Nov 21 2007 Matthias Saou <http://freshrpms.net/> 1.3.7-1
- Major spec file cleanup.
-- Add misssing %%clean section.
+- Add missing %%clean section.
- Fix ldconfig calls (weren't set for the proper sub-package).
* Sat Aug 4 2007 Matt Paine <matt@mattsoftware.com> - 1.3.pre7