Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 50 Next »

Build the Framework Packages

This works on both the 4.X and 5.X branches. You may be interested in the /wiki/spaces/SD/pages/5406762 page to customize your build. Please make sure you have your build environment set up according to Setting up your build environment .

SIMP Version Matrix

CentOS images can be found here

SIMP VersionRHEL/CentOS VersionImages RequiredMock Build Environment
4.2.X6.7DVD1 and DVD2epel-6-x86_64
5.1.X7.1(RHEL) / 7.0(CentOS)Everything ISOepel-7-x86_64

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

    • rpmdevtools
    • gnupg      # "gnupg2" on EL6/EL7

    • genisoimage
    • augeas-devel
    • libxslt-devel
    • libicu-devel

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

  • 60G of space in /var/lib/mock

    Mock Mount Information

    Please note that the partition that houses /var/lib/mock must have execute and device permissions for Mock to run properly.

  • The gpg executable must be in the user's path (Fedora package: gnupg, EL package: gnupg2)

    Repoclosure 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. Make sure you are a normal user and not root!

  2. Clone the master repository and enter it

    $ git clone https://github.com/simp/simp-core
    $ cd simp-core
  3. Check which branches are available

    $ git branch -a
  4. Switch to the branch appropriate for the ISO you are building. In this example, we are building for CentOS 6.7, so we run

    $ git checkout 4.2.X 
  5. Install the needed gems as described in the Gemfile 

    $ gem install bundler
    $ bundle
  6. Download all the SIMP components

    $ rake git:submodules:reset
  7. Cross your fingers

  8. If you've never run the build process before, 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 

    $ rake build:bundle
  9. Build the DVD overlay tarball. Further documentation for the arguments is available in rake (rake -D). 

    $ rake tar:build[epel-6-x86_64,dev,false] (builds for CentOS/RHEL 6, dev key, no docs)
At this point, you've built the SIMP tarball and could install it using a YUM server of your choice on whatever system you choose and try to follow the documentation

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:

    $ 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 

      $ 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

    $ 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 

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

    $ 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"]
If all goes well, after this you will have a working SIMP-Ready ISO. If not, please try the Forum.


  • No labels