# Kit Build File
#
# A unique version of this file is automatically generated for a new Kit
# when you run the buildkit command to create a new Kit. The basic template
# for this file is contained in the /opt/xcat/share/xcat/kits/kit_template
# directory.  Once the initial version of this file is generated you will
# have to modify it by adding the details needed to build your new Kit.
#
# Refer to the buildkit manpage for further details.
#
# kit: This stanza defines general information for the Kit.
#      There must be exactly one kit stanza in a buildkit.conf file.
#
# kit attributes:
#    basename        (mandatory) Kit base name. (ex. "myproduct")
#
#    description     (optional)  Kit description.
#
#    version         (mandatory) Kit version. ( template default "1.0")
#
#    release         (mandatory)  Kit release. (template default "1")
#
#    ostype          (mandatory) Kit OS type.  (template default "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. (ex. "rhels")
#
#    osmajorversion  (optional) OS major version. (ex. "6")
#
#    osminorversion  (optional) OS minor version.
#
#    osarch          (optional) OS architecture. (ex. "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.  The name should be the full path name of
#                       the file relative to <Kit Build Directory>/other_files
#
#    kitlicense      (mandatory) Kit license string to be built into all
#                       kitcomponent packages.  (template default "EPL")
#
#    kittarfilename  (optional) Filename.tar.bz2 to be used for the generated
#                       kit.  (ex. "myproduct-1.4.0.6-0-x86_64.tar.bz2")
#                       The default format 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
  kitlicense=EPL
  # vendor=
  # packager=
  # url=
  # osbasename=
  # osmajorversion=
  # osminorversion=
  # osarch=
  # isinternal=
  # kitdeployparams=sample/kitdeployparams.lst
  # kittarfilename=
#
# kitrepo: This stanza defines a Kit Package Repository.
#          There must be at least one kitrepo stanza 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.  A typical name may be something like:
#                   "<osbasename><osmajorversion>.<osminorversion>_<osarch>".
#                     (ex. "rhels6.4_x86_64")
#
#    osbasename     (mandatory) OS distro base name. (ex. "rhels")
#
#     osmajorversion     (mandatory) OS major version. (ex. "6")
#
#    osminorversion     (optional)  OS minor version. (ex. "4")
#
#    osarch             (mandatory) OS architecture. (ex.redhat x86_64 should be "x86_64", Ubuntu Power LE should be "ppc64el",
#                                                      For Ubuntu Power LE, system arch is ppc64le, for ubuntu software package, should use "ppc64el",
#
#    compat_osbasenames (optional)  Comma-separated list of compatible
#                         OS distribution base names. (ex. "centos")
kitrepo:
  kitrepoid=<<<INSERT_kitrepoid_HERE>>>
  osbasename=<<<INSERT_osbasename_HERE>>>
  osmajorversion=<<<INSERT_osmajorversion_HERE>>>
  osminorversion=<<<INSERT_osminorversion_HERE>>>
  osarch=<<<INSERT_osarch_HERE>>>
  # compat_osbasenames=<<<INSERT_compatible_HERE_>>>
#
# kitcomponent: This stanza defines one Kit Component.
#               There can be zero or more kitcomponent stanzas.
#               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
#                           (ex. "myproduct_compute")
#
#    description     (optional)  Kit component description
#
#    version         (optional)  Kit component version.  The default is
#                        the kit version.
#
#    release         (optional)  Kit component release.  The default is the
#                            kit release.
#
#    serverroles     (mandatory) Comma-separated list of node types that this
#                      component could be installed on. (Valid values:
#                         mgtnode,servicenode,compute,login,storage,utility)
#                      (template default: "compute")
#
#    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 RPM dependency
#                       basenames.
#                       These packages must be shipped with the OS distro.
#                       (ex. "libacl(x86-32)")
#
#    kitpkgdeps      (mandatory IF product RPMs will be included in this Kit)
#                       Comma-separated list of RPM basenames. Each RPM must
#                       be defined in a separate kitpackage stanza. Each RPM
#                       package must be in the same kitrepo as this kit component.
#                       (ex. "xlc(x86-32)")
#
#    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>>>
  kitpkgdeps=pkg1
  # kitcompdeps=myproduct_license
  # ospkgdeps=dep1,dep2
  # 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 stanza defines one Kit Package.
#             There can be zero or more kitpackage stanzas.
#
#             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 stanza
#                  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 stanza
#                  which contains multiple kitrepoid lines.
#
#
# kitpackage attributes:
#   filename   (mandatory) Package filename. The filename may contain
#                         wildcards to avoid needing to
#                       specify an explicit package version-release filename.
#
#   kitrepoid  (mandatory) A comma-separated list of kit repo names 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.
#
#    isexternalpkg  (mandatory) Indicates if the package will be included
#                      in this kit or added later.
#                   'no' or '0' means the package is included.
#                   'yes' or '1'  means the packages will be added later.
#                   The default if not set is 'no'.
#
#    rpm_prebuiltdir  (mandatory IF isexternalpkg=no)  Path to the directory
#                      containing the pre-built RPMs relative to
#                   <Kit Build Directory>/source_packages directory.
#                   For example, if the file is
#                   "<Kit Build Directory>/source_packages/foobar/foo.rpm"
#                   then set "rpm_prebuiltdir=foobar".
kitpackage:
   filename=pkg1-*.noarch.rpm
   kitrepoid=<<<INSERT_kitrepoid_HERE>>>
   isexternalpkg=no
   rpm_prebuiltdir=sample/pkg1
