Provided by: kiwi_9.25.22-1ubuntu1_amd64 bug

NAME

       kiwi::system::build - Build image in combined prepare and create step

SYNOPSIS

          kiwi-ng [global options] service <command> [<args>]

          kiwi-ng system build -h | --help
          kiwi-ng system build --description=<directory> --target-dir=<directory>
              [--allow-existing-root]
              [--clear-cache]
              [--ignore-repos]
              [--ignore-repos-used-for-build]
              [--set-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>]
              [--set-repo-credentials=<user:pass_or_filename>]
              [--add-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>...]
              [--add-repo-credentials=<user:pass_or_filename>...]
              [--add-package=<name>...]
              [--add-bootstrap-package=<name>...]
              [--delete-package=<name>...]
              [--set-container-derived-from=<uri>]
              [--set-container-tag=<name>]
              [--add-container-label=<label>...]
              [--signing-key=<key-file>...]
          kiwi-ng system build help

DESCRIPTION

       build  an image in one step. The build command combines kiwi's prepare and create steps in order to build
       an image with just one command call. The build command creates the root  directory  of  the  image  below
       <target-dir>/build/image-root    and    if    not    specified    differently    writes    a   log   file
       <target-dir>/build/image-root.log. The result image files are created in the specified target-dir.

OPTIONS

       --add-bootstrap-package=<name>
              specify package to install as part of the early kiwi bootstrap phase.  The option can be specified
              multiple times

       --add-container-label=<name=value>
              add a container label in the container configuration metadata. It overwrites the  label  with  the
              provided key-value pair in case it was already defined in the XML description

       --add-package=<name>
              specify package to add(install). The option can be specified multiple times

       --add-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
              Add  a  new repository to the existing repository setup in the XML description. This option can be
              specified multiple times.  For details  about  the  provided  option  values  see  the  --set-repo
              information below

       --add-repo-credentials=<user:pass_or_filename>
              For  uri://user:pass@location  type  repositories,  set  the  user  and password connected with an
              add-repo specification. The first  add-repo-credentials  is  connected  with  the  first  add-repo
              specification  and  so on. If the provided value describes a filename in the filesystem, the first
              line of that file is read and used as credentials information.

       --allow-existing-root
              Allow to use an existing root directory from an earlier build attempt. Use with caution this could
              cause an inconsistent root tree if the existing contents does not fit to  the  former  image  type
              setup

       --clear-cache
              delete  repository  cache for each of the used repositories before installing any package. This is
              useful if an image build should take and validate the signature of the package from  the  original
              repository  source  for any build. Some package managers unconditionally trust the contents of the
              cache, which is ok for cache data dedicated to one build but in case of kiwi the cache  is  shared
              between multiple image builds on that host for performance reasons.

       --delete-package=<name>
              specify package to delete. The option can be specified multiple times

       --description=<directory>
              Path  to the XML description. This is a directory containing at least one _config.xml_ or _*.kiwi_
              XML file.

       --ignore-repos
              Ignore all repository configurations from the XML description.  Using that option is usually  done
              with  a sequence of --add-repo options otherwise there are no repositories available for the image
              build which would lead to an error.

       --ignore-repos-used-for-build
              Works the same way as --ignore-repos except that repository configurations which has the imageonly
              attribute set to true will not be ignored.

       --set-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
              Overwrite the first repository entry in the XML description with the provided information:

              • source

                source url, pointing to a package repository which must be in a format supported by the selected
                package manager. See the URI_TYPES section for details about the supported source locators.

              • type

                repository type, could be one of rpm-md, rpm-dir or yast2.

              • alias

                An alias name for the repository. If not specified kiwi generate an alias name as result of  hex
                representation  from  uuid4.  The  hex is used to uniquely identify the repository, but not very
                expressive.  We recommend to set an expressive and uniq alias name.

              • priority

                A number indicating the repository priority. How the value is evaluated depends on the  selected
                package  manager.  Please  refer  to  the  package  manager  documentation for details about the
                supported priority ranges and their meaning.

              • imageinclude

                Set to either true or false to specify if this repository should be part  of  the  system  image
                repository setup or not.

              • package_gpgcheck

                Set  to  either  true  or  false  to  specify  if  this  repository  should validate the package
                signatures.

              • {signing_keys}

                List of signing_keys enclosed in curly brackets and delimited by semicolon. The reference  to  a
                signing key must be provided as URI format

              • components

                Component list for debian based repos as string delimited by a space

              • distribution

                Main distribution name for debian based repos

              • repo_gpgcheck

                Set  to  either  true  or  false  to  specify  if this repository should validate the repository
                signature.

       --set-repo-credentials=<user:pass_or_filename>
              For uri://user:pass@location type repositories,  set  the  user  and  password  connected  to  the
              set-repo  specification.  If  the provided value describes a filename in the filesystem, the first
              line of that file is read and used as credentials information.

       --set-container-derived-from=<uri>
              Overwrite the source location of the base container for the selected image type.  The  setting  is
              only effective if the configured image type is setup with an initial derived_from reference

       --set-container-tag=<name>
              Overwrite  the container tag in the container configuration.  The setting is only effective if the
              container configuraiton provides an initial tag value

       --signing-key=<key-file>
              set the key file to be trusted and imported into the package manager  database  before  performing
              any  operation.  This  is useful if an image build should take and validate repository and package
              signatures during build time. This option can be specified multiple times

       --target-dir=<directory>
              Path to store the build results.

URI_TYPES

http:// | https:// | ftp://

         remote repository delivered via http or ftp protocol.

       • obs://

         Open  Buildservice  repository.  The  source  data  is  translated  into  an  http  url   pointing   to
         http://download.opensuse.org.

       • ibs://

         Internal  Open  Buildservice  repository.  The  source  data is translated into an http url pointing to
         download.suse.de.

       • iso://

         Local iso file. kiwi loop mounts the file and uses the mount point as temporary directory source type

       • dir://

         Local directory

AUTHOR

       Marcus Schäfer

COPYRIGHT

       2024, Marcus Schäfer

9.25.22                                           Feb 02, 2024                            KIWI::SYSTEM::BUILD(8)