Building ganesha
Spectrum scale ganesha rpms are built from https://github.com/ganltc/nfs-ganesha.git repository. Branch "ibm2.7" is based on ganesha V2.7. It is used for building spectrum scale 5.0.4 ganesha rpms.
Building ibm2.7 based rpms
- Install rpms needed for building ganesha
RHEL7.x:
yum groupinstall 'Development Tools' yum install cmake krb5-devel bison flex doxygen libuuid-devel \ libblkid-devel libcap-devel dbus-devel python-devel libattr-devel \ libnfsidmap-devel libwbclient-devel
RHEL 8, apart from above, install these as well:
yum install libnsl2-devel python3-devel selinux-policy-devel \ libtirpc-devel
Install gpfs samba packages for AD kerberos support. Make sure you install Spectrum Scale Samba package (gpfs.smb) and its development package (gpfs.smb-devel). This step can be ignored if AD kerberos support is not needed.
git clone, checkout ibm2.7 and checkout submodules:
git clone https://github.com/ganltc/nfs-ganesha.git cd nfs-ganesha git checkout <ibm2.7 or tag> git submodule update --init
Modify GANESHA_EXTRA_VERSION string in src/CMakeLists.txt file. This makes it clear that these rpms are privately built! For example having something like this:
set(GANESHA_EXTRA_VERSION -ibm050.xyz)
Make a new build directory and run cmake from there:
mkdir build && cd build && cmake ../src -DBUILD_CONFIG=rpmbuild \ -DCMAKE_BUILD_TYPE=Release -DUSE_FSAL_GPFS=ON -DUSE_ADMIN_TOOLS=ON \ -DUSE_GUI_ADMIN_TOOLS=OFF -DUSE_DBUS=ON
Optionally, add "-D_MSPAC_SUPPORT=ON" for AD kerberos support!
Verify that cmake really did what you wanted! In particular look at its output and verify that it honored your features FSAL_GPFS, ADMIN_TOOLS, DBUS and MSPAC_SUPPORT etc.
Make source tarball for rpmbuild:
make dist
Build rpms:
QA_RPATHS=2 rpmbuild -ta nfs-ganesha*.tar.gz