# Kit Build File
# 
# This file was initially auto-generated by the buildkit CLI command.
# To create a new kit, the user should modify this file accordingly.
# Refer to the buildkit manpage for further details.
#

# kit: This section defines general info for the Kit. 
#      There must be exactly one kit section in a kit build file.
# 
# kit attributes:
#    basename        (mandatory) Kit base name. e.g., kit-lsf
#    description     (optional)  Kit description.
#    version         (mandatory) Kit version. e.g., 1.0
#    release         (optional)  Kit release. e.g., 1
#    ostype          (mandatory) Kit OS type.  Must be Linux.
#                      AIX is currently not supported.
#    vendor          (optional) The vendor tag is used to define the name of 
#                                the entity that is responsible for packaging 
#                                the software.
#    packager        (optional) The packager tag is used to hold the name and 
#                                contact information for the person or persons 
#                                who built the package.
#    url             (optional) The url tag is used to provide a location to 
#                                obtain additional information about the 
#                                packaged software.
#    osbasename      (optional) OS distro base name. e.g., rhels.
#    osmajorversion  (optional) OS major version. e.g., 6
#    osminorversion  (optional) OS minor version.
#    osarch          (optional) OS architecture. e.g., x86_64
#    isinternal      (optional)  PCM use only.
#                      Indicate if Kit is for internal use.
#                      Use 1 for yes, 0 for no. Default: 0
#    kitdeployparams (optional)  Filename containing a list of kit deployment
#                       parameters, relative to
#                       <Kit Build Directory>/other_files
#    kitlicense      (mandatory) Kit license string to be built into all
#                       kitcomponent packages
#    kittarfilename  (optional) Filename.tar.bz2 to be used for the generated
#                       kit.  Default is 
#  <basename>-<version>-<opt-release>-<opt-osbasename>-<opt-osmajorversion>-<opt-osminorversion>-<opt-osarch>.tar.bz2 
kit:
   basename=<<<INSERT_kitbasename_HERE>>>
   description=description for <<<INSERT_kitbasename_HERE>>>
   version=1.0
   release=1
   ostype=Linux
   kitdeployparams=sample/kitdeployparams.lst
   kitlicense=EPL


# kitrepo: This section defines a Kit Package Repository.
#          There must be at least one kitrepo section in a kit build file.  
#          If you want to support multiple OSes, you should create a separate
#          repo for each OS.  Also, no two repos can be defined with the same 
#          OS name, major/minor version and arch. For example, you cannot have
#          two repos for RHEL 6.2 x86_64 in the same kit.
#
# kitrepo attributes:
#    kitrepoid          (mandatory) Kit package repository ID.
#                         Must be unique within this file.
#    osbasename         (mandatory) OS distro base name. e.g., rhels.
#    osmajorversion     (mandatory) OS major version. e.g., 6
#    osminorversion     (optional)  OS minor version.
#    osarch             (mandatory) OS architecture. e.g., x86_64
#    compat_osbasenames (optional)  Comma-separated list of compatible 
#                         OS distro base names. e.g., centos

kitrepo:
   kitrepoid=<<<INSERT_kitrepoid_HERE>>>
   osbasename=<<<INSERT_osbasename_HERE>>>
   osmajorversion=<<<INSERT_osmajorversion_HERE>>>
   osminorversion=<<<INSERT_osminorversion_HERE>>>
   osarch=<<<INSERT_osarch_HERE>>>
   #compat_osbasenames=


# kitcomponent: This section defines one Kit Component.  
#               There can be zero or more kitcomponent sections. 
#               If you want to build a component which supports multiple OSes,
#               you should create one kitcomponent section for each OS.  
#               You can define multiple kit components with the same base name
#               only if each kit component using this base name meets these 
#               requirements:
#                 - Each kit component must be defined with the same version
#                   and release number
#                 - Each kit component must be defined with a unique kitrepoid

#
# kitcomponent attributes:
#    basename        (mandatory) Kit component base name
#    description     (optional)  Kit component description
#    version         (optional)  Kit component version.  If not set, defaults
#                                to kit version
#    release         (optional)  Kit component release.  If not set, defaults
#                                to kit release.  Error if both are not set.
#    serverroles     (mandatory) Comma-separated list of servers that this
#                      component can install on. Valid values:
#                         mgtnode,servicenode,compute,login,storage,utility
#    kitrepoid       (mandatory) The ID of the kit package repository this
#                      component belongs to
#    kitcompdeps     (optional)  Comma-separated list of kit component
#                       dependencies.  These kit components can be included in
#                       this kit or in other kits.
#    ospkgdeps       (optional)  Comma-separated list of OS package dependencies
#                       These packages must be shipped with the OS distro.
#    kitpkgdeps      (optional)  Comma-separated list of kit package names that
#                       will be listed as "REQUIRES" when building this kit
#                       component. Each package must be defined in a separate
#                       kitpackage section. Each package must be in the same 
#                       kitrepo as this kit component.
#    non_native_pkgs (optional)  
#                       Comma-separated list of non-native package 
#                       paths that will be included as files in this kit 
#                       component. All filenames are relative to 
#                       <Kit Build Directory>/source_packages and may contain
#                       wildcards.  If a filename is prefixed by 'EXTERNALPKGS:'
#                       the file will not be built into the kit tarfile, but
#                       will need to be added later with a 'buildkit addpkgs'
#                       command. 
#                       Files will be placed in 
#                         /opt/xcat/kits/<kitbasename>/<kitcomponent_name>
#                       when the kitcomponent package is deployed to an 
#                       OS image.
#                       Kit component deployment scripts must be specified
#                       to manage these files.
#   driverpacks      (optional) Comma-separated list of driver package filenames
#                       Each driverpack must be defined in a separate kitpackage
#                       section.
#   exlist           (optional) Exclude list file for stateless image, relative
#                       to <Kit Build Directory>/other_files
#   Kit component deployment scripts (optional)  Each attribute specifies 
#                       script path relative to <Kit Build Directory>/scripts
#                       Script attributes:
#                         preinstall, postinstall, preuninstall, postuninstall, 
#                         preupgrade, postupgrade, postbootscripts, 
#                         genimage_postinstall
kitcomponent:
    basename=<<<INSERT_kitcomponent_basename_HERE>>>
    description=description for component <<<INSERT_kitcomponent_basename_HERE>>>
    serverroles=compute
    kitrepoid=<<<INSERT_kitrepoid_HERE>>>
    #kitcompdeps=
    #ospkgdeps=
    kitpkgdeps=pkg1
    #kitpkgdeps=pkg1,pkg2,pkg2,pkg4
    #non_native_pkgs=a_kitcomponent.file
    #non_native_pkgs=EXTERNALPKGS:a_kitcomponent.file
    #driverpacks=
    exlist=sample/exclude.lst 
    preinstall=sample/pre.sh
    postinstall=sample/post.sh
    preuninstall=sample/preun.sh
    postuninstall=sample/postun.sh
    preupgrade=sample/preup.sh
    postupgrade=sample/postup.sh
    postbootscripts=sample/postboot.sh 
    genimage_postinstall=sample/genimage_post.sh 


# kitpackage: This section defines one Kit Package, and how to build it.
#             There can be zero or more kitpackage sections.  
#             All filenames should be relative paths to
#                <Kit Build Directory>/source_packages  
#             If you want to build a package which can run on multiple OSes, 
#             you have two options:
#               1. Build a separate package for each OS you want to support.  
#                  For this option, you need to define one kitpackage section 
#                  per supported OS.
#               2. Build one package that can run on multiple OSes.  
#                  If you are building an RPM package, you are responsible for 
#                  creating an RPM spec file that can run on multiple OSes.  
#                  For this option, you need to define one kitpackage section
#                  which contains multiple kitrepoid lines.
# 
# kitpackage attributes:
#    filename   (mandatory) Package filename.  
#    kitrepoid  (mandatory) A comma-separated list of kit reponames this package
#                 belongs to.  If multiple repos are defined, the package will
#                 be built for the first repo only. For the other repos,
#                 a symlink is created to the package built for the first repo.
#   Package build methods (optional)  
#                 Define how to build the packages. 
#                 If you don't specify a build method, the default behavior is
#                 to assume the package is pre-built under 
#                   <Kit Build Directory>/source_packages
#                 All files in this section are relative to 
#                   <Kit Build Directory>/source_packages
#                 There are four methods to build packages.
#                   1. Use pre-built RPM package
#                       The filename may contain wildcards to avoid needing to
#                       specify an explicit package version-release filename.
#                       isexternalpkg:  'no'|'0', 'yes'|'1'  (default:  'no') 
#                         Indicates whether the RPM package will be added to the
#                         the kit tar file now as part of the kit build process,
#                         or whether the customer will need to separately
#                         obtain the RPM pacakage and add it to the kit tar file
#                         using 'buildkit addpkgs'
#                       rpm_prebuiltdir: If isexternalpkg=no, path to directory
#                         containing pre-built RPM package
#                   2. Build RPM from spec + src dir
#                       rpm_spec:   Path to spec file.
#                       rpm_srcdir: Path to source directory.
#                   3. Build RPM from spec + src tarball
#                       rpm_spec:        Path to spec file.
#                       rpm_srctarball:  Path to source tarball.
#                   4. Build RPM from source RPM
#                       rpm_srpm:  Path to source RPM package.
kitpackage:
    filename=pkg1-1-1.noarch.rpm
    kitrepoid=<<<INSERT_kitrepoid_HERE>>>
    # Method 1: Use pre-built RPM package
    isexternalpkg=no
    rpm_prebuiltdir=sample/pkg1

#kitpackage:
#    filename=pkg2-1-1.noarch.rpm
#    kitrepoid=<<<INSERT_kitrepoid_HERE>>>
#    # Method 2: Build RPM from spec + src dir
#    rpm_spec=sample/pkg2/pkg2.spec
#    rpm_srcdir=sample/pkg2/pkg2
#
#kitpackage:
#    filename=pkg3-1-1.noarch.rpm
#    kitrepoid=<<<INSERT_kitrepoid_HERE>>>
#    # Method 3: Build RPM from spec + src tarball
#    rpm_spec=sample/pkg3/pkg3.spec
#    rpm_srctarball=sample/pkg3/pkg3.tar.gz
#
#kitpackage:
#    filename=pkg4-1-1.noarch.rpm
#    kitrepoid=<<<INSERT_kitrepoid_HERE>>>
#    # Method 4: Build RPM from source RPM
#    rpm_srpm=sample/pkg4/pkg4-1-1.src.rpm
#
