[Gluster-devel] getting --libdir passed.

Chris Johnson johnson at nmr.mgh.harvard.edu
Tue Oct 23 15:04:35 UTC 2007


On Sun, 21 Oct 2007, Matt Paine wrote:

      So I had a spare nanoseond with nothing else to do (yeah, right) and
modified the RPM SPEC file.  Sometimes success can be very
anticlimactic.  Frst time I've done one of these.  See attached.

      No warrenties expressed or implied, your mileage may vary, yada
yada, yada.  And it's just to solve my problem, nobody elses.

      Good luck.

> Hi Chris
>
> I originally wrote the spec file, but not having an 64 bit system I didn't 
> know of the different library.
>
> Is this the only chage? Pass --libdir=/lib64 ?
>
> Let me change the spec file to allow this change (I should be able to detect 
> the arch automatically). Would you mind testing the spec file for me before I 
> commit it to the tla?
>
>
> Thanks.
> Matt.
>
>
>

-------------------------------------------------------------------------------
Chris Johnson               |Internet: johnson at nmr.mgh.harvard.edu
Systems Administrator       |Web:      http://www.nmr.mgh.harvard.edu/~johnson
NMR Center                  |Voice:    617.726.0949
Mass. General Hospital      |FAX:      617.726.7422
149 (2301) 13th Street      |If ignorance is bliss, why aren't there more
Charlestown, MA., 02129 USA |happy people?    Tea bag tag
-------------------------------------------------------------------------------
-------------- next part --------------
# if you make changes, the it is advised to increment this number, and provide 
# a descriptive suffix to identify who owns or what the change represents
# e.g. release_version 2.MSW
%define release_version 2

# if you wish to compile an rpm without ibverbs support, compile like this...
# rpmbuild -ta glusterfs-1.3.5.tar.gz --without ibverbs
%define with_ibverbs %{?_without_ibverbs:0}%{?!_without_ibverbs:1}

%ifarch x86_64
%define arch_lib lib64
%else
%define arch_lib lib
%endif


Summary: Cluster File System
Name: glusterfs
Version: 1.3.5
Release: %release_version
License: GPL2
Group: System Environment/Base
Vendor: gluster.org
Packager: glusterfs-support at zresearch.com
BuildRoot: %_tmppath/%name-%version-%release-root
BuildRequires: fuse-devel
BuildRequires: libtool
BuildRequires: byacc bison flex
%if %with_ibverbs
BuildRequires: libibverbs-devel
%endif
BuildRequires: libsysfs-devel
BuildRequires: gcc
BuildRequires: make
URL: http://www.gluster.org/docs/index.php/GlusterFS
Source: %name-%version.tar.gz

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


%package common
Summary: GlusterFS Library and Translators
Group: System Environment/Daemons

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

This package includes libglusterfs and glusterfs translator modules
common to both GlusterFS server and client framework.

%package server
Summary: GlusterFS Server
Group: System Environment/Daemons
Requires: %name-common = %version

%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 client
Summary: GlusterFS Client 
Group: Applications/File
#Requires: fuse  # let the auto dependancy work this out
Requires: %name-common = %version

%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 provides the FUSE based GlusterFS client.


%package devel
Summary: GlusterFS Development Libraries
Group: Development/Libraries
Requires: %name-common = %version

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


%prep
# then -n argument says that the unzipped version is NOT %name-%version
#%setup -n %name-%version
%setup


%build
%if "%{with_ibverbs}" == "0"
%define configure_options --disable-ibverbs
%endif
./configure --prefix=  %{?configure_options:%configure_options} --libdir=/%arch_lib
%{__make}


%install
%{__rm} -rf $RPM_BUILD_ROOT
%{__make} install DESTDIR=$RPM_BUILD_ROOT
%{__rm} -rf $RPM_BUILD_ROOT/share/
%{__mkdir_p} $RPM_BUILD_ROOT/usr/include/glusterfs
%{__mkdir_p} $RPM_BUILD_ROOT/var/log/glusterfs
%{__cp} %_builddir/%name-%version/libglusterfs/src/*.h $RPM_BUILD_ROOT/usr/include/glusterfs/


%files common
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README
/%arch_lib/
%dir /var/log/glusterfs
%exclude /%arch_lib/*.a
%exclude /%arch_lib/*.la


%files server
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README
%doc doc/examples
%doc doc/glusterfs-server.vol.sample
%doc doc/glusterfs-client.vol.sample
%config /etc/glusterfs/
/sbin/glusterfsd


%files client
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README
/sbin/glusterfs
/sbin/mount.glusterfs

%files devel
%doc AUTHORS ChangeLog COPYING INSTALL NEWS README THANKS
/%arch_lib/*.a
/%arch_lib/*.la
/usr/include/


%post
ldconfig -n /lib


%changelog

* Sat Aug 4 2007 Matt Paine <matt at mattsoftware.com> - 1.3.pre7
- Added support to build rpm without ibverbs support (use --without ibverbs switch)

* Sun Jul 15 2007 Matt Paine <matt at mattsoftware.com> - 1.3.pre6
- Initial spec file



More information about the Gluster-devel mailing list