Build the Framework Packages
Prerequisites
Complete installation media for your chosen distribution
- If there is more than one disc, you will need all of them
Make sure the following packages are installed and up to date:
git
mock
ClamAV, or whatever includes freshclam (on Fedora, the package is called clamav-update)
createrepo
- Install RVM and
ruby
1.9 and 2.1 (but not 1.8 or 2.2) Your user must be in
mock
groupAll users that are to use mock must be added to the 'mock' group
To add a user to the that group, use this command as root:
usermod -a -G mock [User name] && newgrp mock
- 60G of space in /var/lib/mock
- The
gpg
executable must be in the user's path (RHEL/Fedora package:gnupg)
Build SIMP!
Clone the master repository
Code Block $ git clone https://github.com/simp/simp-core
Switch to the branch appropriate for the ISO you are building. In this example, we are building for CentOS 6.6, so we run
Code Block $ cd simp-core $ git checkout 4.2.X
Install the needed gems as described in the Gemfile
note: if you do not have it installed, runCode Block $ bundle
gem install bundler
$ gem install bundler $ bundle
Download all the SIMP components
Code Block $ rake git:submodules:reset
Cross your fingers
You may need to run a for loop to find Gemfiles and run 'bundle' wherever they are at this point, we have a task on the backlog to fix this
Build the DVD overlay tarball. Further documentation for the arguments is available in rake.
Code Block $ rake tar:build[epel-6-x86_64,dev,false] (builds for RHEL6, dev key, no docs)
Build the ISO
- cd into simp-core
Download all of the required packages for the build:
Code Block $ rake build:yum:sync[<CentOS or RHEL>,<os_version>,<simp_version>,<architecture>]
- Optionally, you may drop in custom packages you wish to have available during an install into
build/yum_data/SIMP<simp_version>_<CentOS or RHEL><os_version>_<architecture>/packages
- Take your favorite RHEL or CentOS DVD set and place them in some directory somewhere with enough space to hold 3 copies.
- cd to the directory holding the ISO images
Unpack the ISOs
Code Block $ mkdir orig $ cd orig $ BUNDLE_DIRECTORY=/path/to/simp-core rake -f /path/to/simp-core/Rakefile unpack["/path/to/ISO1"]
- Repeat the rake task for any additional ISOs
Copy the contents of the extracted ISOs to the build directory:
Code Block $ cd .. $ mkdir 4.2.X $ cd 4.2.X $ cp -rl ../orig/*6.6* .
And finally, build the ISO:
Code Block $ BUNDLE_DIRECTORY=/path/to/simp-core rake -f /path/to/simp-core/Rakefile iso:build["/path/to/simp-core/build/DVD_Overlay/<appropriate>.tar.gz"]
(At this time, we have some repoclosure issues that we need to work through so the ISO may not build)