Install your favorite RPM based distribution (tested with: OpenSUSE, Fedora Core). 

Note: The latest CentOS (because it mirrors RHEL) uses too old of libraries for _these_ instructions to even work. I have not attempted a CentOS build because of time constraints. I suspect, if I did have time, I would follow the Macintosh OSX instructions when building on CentOS; hint hint (lots of dependencies...).

Note: Swap `zypper` with `yum` where necessary.

Perform an update, until there are no more updates:
# Replace zypper with yum if necessary
sudo -E zypper update

Install the base line software:
sudo -E zypper install gcc-c++ \
 gcc-fortran \
 make \
 cmake \
 tcl-devel \
 freeglut-devel \
 libXt-devel \
 tk-devel \
 ncurses-devel \
 libedit-devel \
 zlib-devel \
 python-devel \
 m4 \
 blas-devel \
 lapack-devel \

We also need to install the RPM development kit. Depending on your distribution:

# OpenSUSE
sudo -E zypper install rpm-build

# Fedora Core
sudo -E yum install @development-tools \

Unfortunately the above may not be everything _your_ specific RPM machine needs in order to build everything were about to build... I didn't know what I needed when I first started building all our stuff. Google was a life saver. Be prepared having to search for your own answers. Most of the time, it was simply another yum/zypper install <something\>.

Also note: Some of the above software will not be necessary for the end-user to have to install in order to use your package. I have included the necessary dependency list which 'should work' in the control file (last step). This unfortunately means, for you to be thorough, to re-install Linux after the package is completed and try to install/run the package you built on a clean machine. If any errors occur, record the missing dependencies and re-build the package. In other words: You might want to have two separate machines. One for building and one for testing. Having two machines will save you lots of time.

1. [Download the following software using Firefox](rpm_redist-downloads)
2. [Install software](rpm_redist-install)
3. [Build the MOOSE Compiler Package](rpm_redist-build)

Following the above to completion you should have a: `moose-environment.rpm`. But you can rename it to what ever you want.