GlusterFS 1.3 Building RPMs
From GlusterDocumentation
Contents |
Building RPMs from a source tarball
Starting with 1.3.pre6 you can build RPM's directly from the source tarball. Simply download the tarball and....
rpmbuild -tb glusterfs-1.3.pre6.tar.gz
This will build your binary RPM files, which will located in your build directory (by default on most rpm distributions in /usr/src/redhat/BUILD/%{arch}/)
Some systems do not have the infiniband libraries required for a standard build of GlusterFS. To build the rpm's without infiniband support (available since 1.3.0), try this command...
rpmbuild -tb glusterfs-1.3.0.tar.gz --without ibverbs
Building RPMs from a spec file
Starting with 1.3.1 you can build RPM's directly from the spec file. Simply download the tarball and...
rpmbuild -ba glusterfs.spec
Before this copy your glusterfs tar ball into /usr/src/redhat/SOURCE/ by default. On all the Redhat distributions.
Some systems if they don't have infiniband libraries required for standard build for GlusterFS. So to build rpm's without infiniband support
rpmbuild -ba glusterfs.spec --without ibverbs
Building RPMs from TLA
- First get the current TLA (instructions listed on the hackers page).
- Next I like to make a copy of the TLA folder so I dont muck anything up in the TLA namespace
- Modify the version number
- This can be changed by modifying the config.ac file, change the first line from....
AC_INIT([glusterfs],[1.3.pre6],[glusterfs-support@zresearch.com])
... to
AC_INIT([glusterfs],[1.3.tla320],[glusterfs-support@zresearch.com])
- Run autogen.sh
- Create a build dir
- Run configure from the build dir
- Run make dist
- Build RPMs from the resulting tarball or Build RPMs from the resulting spec file
An example of the commands I use to achieve this are:
tla update cd .. cp -a glusterfs glusterfs-1.3.tla320 cd glusterfs-1.3.tla320 vim configure.ac # modify the version number to '1.3.tla320' ./autogen.sh mkdir build cd build ../configure make dist rpmbuild -tb glusterfs-1.3.tla320.tar.gz cd /usr/src/redhat/BUILD/i386 ls
On my system the last ls command gives this output...
[build@build i386]$ ls glusterfs-client-1.3.tla320-1.i386.rpm glusterfs-common-1.3.tla320-1.i386.rpm glusterfs-debuginfo-1.3.tla320-1.i386.rpm glusterfs-devel-1.3.tla320-1.i386.rpm glusterfs-server-1.3.tla320-1.i386.rpm
Package descriptions
glusterfs-common
This package contains all the common objects/files required for the operation of either the client or the server packages. This includes libglusterfs, xlators, schedulers and all the various transport mechanisms.
glusterfs-server
Provides glusterfs server binary.
glusterfs-client
Provides glusterfs client and mount.glusterfs
- This package requires fuse kernel module and libraries to be installed.
glusterfs-devel
Collection of header files which provide an API description of the internals of GlusterFS. These can be used to create your own translators/schedulers (in the sense to bring more broader functionality into glusterfs).
glusterfs-debuginfo
Automatically generated from rpmbuild
- Debuginfo binaries are those binaries which are not stripped of with their debugging symbols during their build with -g debugging option.
- Debuginfo files can be used for mainly for debugging purposes not recommended for the production use.
- Debuginfo files are usually large in their size as they are not stripped with their debugging symbols.
Experiences
Please add your own experiences below :)
RPMs Build and run fine on CentOS 5 machines 18/july/2006 - tla 2.5 patch 320
Credits
- Author: Matt Paine
- Copyright: (C) 2007 Mattsoftware.com

