Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minore fix: change RTD branch from `master` to `latest`


...

Build the Framework Packages

This part works on both the 4.X and 5.X branches.

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

    • rpm-sign   # not necessary on EL6/EL7

    • gnupg      # "gnupg2" on EL6/EL7

    • genisoimage
  • Install RVM and ruby 1.9 and 2.1 (but not 1.8 or 2.2)
  • Your user must be in mock group

    • To add a user to 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 (Fedora package: gnupg, EL package: gnupg2)

    Info
    titleRepoclosure Issues

    Presently, there are issues with EPEL expiring packages in our packages.yaml files on the fly.

    The most recent of these is that python-six was pulled from EPEL and included directly in CentOS 6.7.

    While this is awesome, it makes getting a consistent build made difficult and we're looking into this issue.

    If all else fails, add the remote CentOS repos to the build/yum_data/<target_version>/repos directory, then erase the offending RPMs from packages.yaml, to work around this for now.

Build SIMP!

  1. Clone the master repository and enter it

    Code Block
    languagebash
    $ git clone https://github.com/simp/simp-core
    $ cd simp-core
  2. 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
    languagebash
    $ git checkout 4.2.X
  3. Install the needed gems as described in the Gemfile 

    Code Block
    languagebash
    $ gem install bundler
    $ bundle
  4. Download all the SIMP components

    Code Block
    languagebash
    $ rake git:submodules:reset
  5. Cross your fingers

  6. You may need to run the following to make sure you have all of the bundles you need for all of the submodules in this project 

    Code Block
    languagebash
    $ rake build:bundle
  7. Build the DVD overlay tarball. Further documentation for the arguments is available in rake. 

    Code Block
    languagebash
    $ rake tar:build[epel-6-x86_64,dev,false] (builds for RHEL6, dev key, no docs)

...

The SIMP tarball(s) will be in simp-core/build/DVD_Overlay. There will be one per supported distribution.

Build the ISO

  1. cd into simp-core
  2. Download all of the required packages for the build:

    Code Block
    languagebash
    $ rake build:yum:sync[<CentOS or RHEL>,<os_version>,<simp_version>,<architecture>]

     

    1. If you have previously downloaded packages from yum, you may need to run 

      Code Block
      languagebash
      $ rake build:yum:clean_cache
  3. 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
  4. Take your favorite RHEL or CentOS DVD set and place them in some directory somewhere with enough space to hold 3 copies.
  5. cd to the directory holding the ISO images
  6. Unpack the ISOs

    Code Block
    languagebash
    $ mkdir orig
    $ cd orig
    $ BUNDLE_GEMFILE=/path/to/simp-core/Gemfile rake -f /path/to/simp-core/Rakefile unpack["/path/to/ISO1"]
    1. Repeat the rake task for any additional ISOs
  7. Make a new directory for your custom ISO build and copy the contents of the extracted ISOs 

    Code Block
    languagebash
    $ cd ..
    $ mkdir 4.2.X
    $ cd 4.2.X
    $ cp -rl ../orig/*6.6* .
  8. And finally, build the ISO:

    Code Block
    languagebash
    $ BUNDLE_GEMFILE=/path/to/simp-core/Gemfile rake -f /path/to/simp-core/Rakefile iso:build["/path/to/simp-core/build/DVD_Overlay/<appropriate>.tar.gz"]

...

This documentation has moved to ReadTheDocs.

Please ask questions on the SIMP Project slack or Google Group.