Developer's Guide

This document describes the coding standards for FAN, and provides tips for FAN developers.

How to get a development environment ?

You can install FAN in a virtual machine for example and use CentOS distribution for you development.

How to get source of the FAN project ?

At the moment, FAN is a sourceforge project. You can checkout the SVN repository :
# svn co https://fannagioscd.svn.sourceforge.net/svnroot/fannagioscd fannagioscd

To browse the Subversion tree, go to here

How to build an RPM package (on CentOS) ?

Install "epel" package, see Fedora Project Wiki
# rpm -ivh epel-release-5-3.noarch.rpm

As root user Install rpmdevtools :
# yum install rpmdevtools
user@FAN:$ cd ~/
user@FAN:$ rpmdev-setuptree

To create a new package :
user@FAN:$ rpmdev-newspec mypackage
user@FAN:$ rpmbuild -ba rpmbuild/SPECS/mypackage.spec



How to create a new FAN ISO including your own modifications and settings ?

Install createrepo and mkisofs
# yum install createrepo mkisofs
Mount Fan iso
# mount -o loop FAN-XXX.iso /media/cdrom
# cp -r /media/cdrom ~/FAN

Go to in the FAN directory :
# cd ~/FAN
# createrepo -g repodata/comps.xml .
# mkisofs -R -J -T -no-emul-boot -boot-load-size 4 -boot-info-table -V "FAN (Fully Automated Nagios)" -A "Created on 2008/05/31" -P "FANFoundry" -p "FANfoundry" -b isolinux/isolinux.bin -c isolinux/boot.cat -x "lost+found" -o ../FAN-0.5.iso .