summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavan Sondur <pavan@gluster.com>2010-08-16 07:26:33 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-08-17 02:23:42 -0700
commit3af126d594c8e0710ba6a3fb4024224eb7f8e4b4 (patch)
tree9b6987056baca77c14bfbea2d59c40b260f33a8f
parent0ec245abd60928994e2afbeac73cb53c5af7a4cf (diff)
rpm spec: Use only 3 rpms for GlusterFS
Generates the following 3 rpms: 1. glusterfs-fuse 2. glusterfs-main 3. glusterfs-ibverbs Signed-off-by: Pavan Vilas Sondur <pavan@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1275 (Fix rpm glusterfs spec file for 3.1) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1275
-rw-r--r--glusterfs.spec.in100
-rw-r--r--xlators/nfs/server/src/Makefile.am2
2 files changed, 34 insertions, 68 deletions
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
index 1649894a0e3..c43093de193 100644
--- a/glusterfs.spec.in
+++ b/glusterfs.spec.in
@@ -3,15 +3,7 @@
# e.g. release_version 2.MSW
%define release 1%{?dist}
-# if you wish to compile an rpm without ibverbs support, compile like this...
-# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without ibverbs
-%{?_without_ibverbs:%define _without_ibverbs --disable-ibverbs}
-
-# if you wish to compile an rpm without libglusterfsclient...
-# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without libglfsclient
-%{?_without_libglfsclient:%define _without_libglfsclient --disable-libglusterclient}
-
-# if you wish to compile an rpm without libglusterfsclient...
+# if you wish to compile an rpm without epoll...
# rpmbuild -ta @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz --without epoll
%{?_without_epoll:%define _without_epoll --disable-epoll}
@@ -34,8 +26,6 @@ Requires(post): /sbin/chkconfig
Requires(preun): /sbin/service, /sbin/chkconfig
Requires(postun): /sbin/service
-%{!?_without_ibverbs:BuildRequires: libibverbs-devel}
-
BuildRequires: bison flex
BuildRequires: gcc make
@@ -48,13 +38,13 @@ 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.
-%package common
+%package main
Summary: GlusterFS common files for both the client and the server
Group: System Environment/Libraries
Obsoletes: glusterfs-libs <= 2.0.0
Provides: glusterfs-libs = %{version}-%{release}
-%description common
+%description main
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
@@ -63,15 +53,16 @@ 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 includes the glusterfs binary, libglusterfs and glusterfs
-translator modules common to both GlusterFS server and client framework.
+This package includes the glusterfs binary, the glusterd daemon and the gluster
+command line, libglusterfs and glusterfs translator modules common to both
+GlusterFS server and client framework.
-%package client
-Summary: GlusterFS Client
+%package ibverbs
+Summary: GlusterFS ibverbs
Group: Applications/File
-Requires: %{name}-common = %{version}-%{release}
+Requires: libibverbs-devel
-%description client
+%description ibverbs
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
@@ -80,31 +71,13 @@ 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 FUSE based GlusterFS client.
-
+This package provides support to ib-verbs library.
-%package server
-Summary: GlusterFS Server
-Group: System Environment/Daemons
-Requires: %{name}-common = %{version}-%{release}
-
-%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 provides the glusterfs server daemon.
-
-%package devel
-Summary: GlusterFS Development Libraries
-Group: Development/Libraries
-Requires: %{name}-common = %{version}-%{release}
+%package fuse
+Summary: GlusterFS Fuse
+Group: Applications/File
-%description devel
+%description fuse
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
@@ -113,7 +86,7 @@ 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.
+This package provides support to FUSE based clients.
%prep
@@ -121,7 +94,7 @@ This package provides the development libraries.
%build
-%configure %{?_without_ibverbs} %{?_without_libglfsclient} %{?_without_client} %{?_without_epoll} %{?_with_fusermount}
+%configure %{?_without_epoll} %{?_with_fusermount}
# Remove rpath
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
@@ -144,27 +117,22 @@ find %{buildroot}%{_libdir} -name '*.a' | xargs rm -f
%clean
%{__rm} -rf %{buildroot}
-%post common
+%post main
/sbin/ldconfig -n %{_libdir}
+/sbin/chkconfig --add glusterfsd
-%postun common
+%postun main
/sbin/ldconfig -n %{_libdir}
-%post server
-/sbin/chkconfig --add glusterfsd
-
-%preun server
+%preun main
if [ $1 -eq 0 ]; then
/sbin/chkconfig --del glusterfsd
fi
-%files common
+%files main
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README
%doc /usr/share/doc/glusterfs
-%if 0%{!?_without_client:1}
-%exclude %{_libdir}/glusterfs/%{version}/xlator/mount
-%endif
%if 0%{?_with_fusermount:1}
%{_bindir}/fusermount-glusterfs
%endif
@@ -178,24 +146,22 @@ fi
%{_sbindir}/glusterd
%{_mandir}/man8/*glusterfs.8*
%dir /var/log/glusterfs
-
-%if 0%{!?_without_client:1}
-%files client
-%defattr(-,root,root)
-/sbin/mount.glusterfs
-%{_libdir}/glusterfs/%{version}/xlator/mount
-%endif
-
-%files server
-%defattr(-,root,root)
+%exclude %{_libdir}/glusterfs/%{version}/transport/ib-verbs*
+%exclude %{_libdir}/glusterfs/%{version}/xlator/mount/fuse*
%config %{_sysconfdir}/glusterfs
%{_sysconfdir}/init.d/glusterfsd
-
-%files devel
-%defattr(-,root,root,-)
%{_includedir}/glusterfs
%exclude %{_includedir}/glusterfs/y.tab.h
%{_libdir}/*.so
+/sbin/mount.glusterfs
+
+%files ibverbs
+%defattr(-,root,root)
+%{_libdir}/glusterfs/%{version}/transport/ib-verbs*
+
+%files fuse
+%defattr(-,root,root)
+%{_libdir}/glusterfs/%{version}/xlator/mount/fuse*
%changelog
* Wed Jul 01 2009 Harshavardhana <harsha@gluster.com> - 2.1
diff --git a/xlators/nfs/server/src/Makefile.am b/xlators/nfs/server/src/Makefile.am
index e2e41de4a1b..f8968916c39 100644
--- a/xlators/nfs/server/src/Makefile.am
+++ b/xlators/nfs/server/src/Makefile.am
@@ -1,6 +1,6 @@
xlator_LTLIBRARIES = server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/nfs
-nfsrpclibdir = $(top_srcdir)/xlators/nfs/lib/src/
+nfsrpclibdir = $(top_srcdir)/xlators/nfs/lib/src
server_la_LDFLAGS = -module -avoidversion
server_la_SOURCES = nfs.c nfs-common.c nfs-fops.c nfs-inodes.c nfs-generics.c mount3.c nfs3-fh.c nfs3.c nfs3-helpers.c $(nfsrpclibdir)/auth-null.c $(nfsrpclibdir)/auth-unix.c $(nfsrpclibdir)/msg-nfs3.c $(nfsrpclibdir)/rpc-socket.c $(nfsrpclibdir)/rpcsvc-auth.c $(nfsrpclibdir)/rpcsvc.c $(nfsrpclibdir)/xdr-nfs3.c $(nfsrpclibdir)/xdr-rpc.c
server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la