1KIWI::SYSTEM::BUILD(8)              KIWI NG             KIWI::SYSTEM::BUILD(8)
2
3
4

NAME

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

SYNOPSIS

9          kiwi-ng [global options] service <command> [<args>]
10
11          kiwi-ng system build -h | --help
12          kiwi-ng system build --description=<directory> --target-dir=<directory>
13              [--allow-existing-root]
14              [--clear-cache]
15              [--ignore-repos]
16              [--ignore-repos-used-for-build]
17              [--set-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>]
18              [--set-repo-credentials=<user:pass_or_filename>]
19              [--add-repo=<source,type,alias,priority,imageinclude,package_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>...]
20              [--add-repo-credentials=<user:pass_or_filename>...]
21              [--add-package=<name>...]
22              [--add-bootstrap-package=<name>...]
23              [--delete-package=<name>...]
24              [--set-container-derived-from=<uri>]
25              [--set-container-tag=<name>]
26              [--add-container-label=<label>...]
27              [--signing-key=<key-file>...]
28          kiwi-ng system build help
29

DESCRIPTION

31       build  an  image in one step. The build command combines kiwi's prepare
32       and create steps in order to build an image with just one command call.
33       The  build  command creates the root directory of the image below <tar‐
34       get-dir>/build/image-root and if not specified differently writes a log
35       file <target-dir>/build/image-root.log. The result image files are cre‐
36       ated in the specified target-dir.
37

OPTIONS

39       --add-bootstrap-package=<name>
40              specify package to install as part of the early  kiwi  bootstrap
41              phase.  The option can be specified multiple times
42
43       --add-container-label=<name=value>
44              add  a  container label in the container configuration metadata.
45              It overwrites the label with the provided key-value pair in case
46              it was already defined in the XML description
47
48       --add-package=<name>
49              specify  package  to  add(install).  The option can be specified
50              multiple times
51
52       --add-repo=<source,type,alias,priority,imageinclude,pack‐
53       age_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
54              Add a new repository to the existing repository setup in the XML
55              description. This option can be specified multiple  times.   For
56              details  about the provided option values see the --set-repo in‐
57              formation below
58
59       --add-repo-credentials=<user:pass_or_filename>
60              For uri://user:pass@location type repositories, set the user and
61              password  connected  with  an  add-repo specification. The first
62              add-repo-credentials is connected with the first add-repo speci‐
63              fication  and  so on. If the provided value describes a filename
64              in the filesystem, the first line of that file is read and  used
65              as credentials information.
66
67       --allow-existing-root
68              Allow  to  use  an existing root directory from an earlier build
69              attempt. Use with caution this could cause an inconsistent  root
70              tree  if  the existing contents does not fit to the former image
71              type setup
72
73       --clear-cache
74              delete repository cache for each of the used repositories before
75              installing  any package. This is useful if an image build should
76              take and validate the signature of the package from the original
77              repository  source for any build. Some package managers uncondi‐
78              tionally trust the contents of the cache, which is ok for  cache
79              data  dedicated  to  one  build but in case of kiwi the cache is
80              shared between multiple image builds on that  host  for  perfor‐
81              mance reasons.
82
83       --delete-package=<name>
84              specify  package to delete. The option can be specified multiple
85              times
86
87       --description=<directory>
88              Path to the XML description. This is a directory  containing  at
89              least one _config.xml_ or _*.kiwi_ XML file.
90
91       --ignore-repos
92              Ignore  all  repository configurations from the XML description.
93              Using that option is usually done with a sequence of  --add-repo
94              options  otherwise  there  are no repositories available for the
95              image build which would lead to an error.
96
97       --ignore-repos-used-for-build
98              Works the same way as --ignore-repos except that repository con‐
99              figurations  which  has the imageonly attribute set to true will
100              not be ignored.
101
102       --set-repo=<source,type,alias,priority,imageinclude,pack‐
103       age_gpgcheck,{signing_keys},components,distribution,repo_gpgcheck>
104              Overwrite the first repository entry in the XML description with
105              the provided information:
106
107source
108
109                source url, pointing to a package repository which must be  in
110                a  format  supported  by the selected package manager. See the
111                URI_TYPES section for details about the supported source loca‐
112                tors.
113
114type
115
116                repository type, could be one of rpm-md, rpm-dir or yast2.
117
118alias
119
120                An alias name for the repository. If not specified kiwi gener‐
121                ate an alias name as result of hex representation from  uuid4.
122                The  hex  is used to uniquely identify the repository, but not
123                very expressive.  We recommend to set an expressive  and  uniq
124                alias name.
125
126priority
127
128                A  number indicating the repository priority. How the value is
129                evaluated depends on the selected package manager. Please  re‐
130                fer to the package manager documentation for details about the
131                supported priority ranges and their meaning.
132
133imageinclude
134
135                Set to either true or false  to  specify  if  this  repository
136                should be part of the system image repository setup or not.
137
138package_gpgcheck
139
140                Set  to  either  true  or  false to specify if this repository
141                should validate the package signatures.
142
143{signing_keys}
144
145                List of signing_keys enclosed in curly brackets and  delimited
146                by  semicolon. The reference to a signing key must be provided
147                as URI format
148
149components
150
151                Component list for debian based repos as string delimited by a
152                space
153
154distribution
155
156                Main distribution name for debian based repos
157
158repo_gpgcheck
159
160                Set  to  either  true  or  false to specify if this repository
161                should validate the repository signature.
162
163       --set-repo-credentials=<user:pass_or_filename>
164              For uri://user:pass@location type repositories, set the user and
165              password  connected  to  the set-repo specification. If the pro‐
166              vided value describes a filename in the  filesystem,  the  first
167              line of that file is read and used as credentials information.
168
169       --set-container-derived-from=<uri>
170              Overwrite  the source location of the base container for the se‐
171              lected image type. The setting is only effective if the  config‐
172              ured image type is setup with an initial derived_from reference
173
174       --set-container-tag=<name>
175              Overwrite the container tag in the container configuration.  The
176              setting is only effective if the  container  configuraiton  pro‐
177              vides an initial tag value
178
179       --signing-key=<key-file>
180              set  the  key  file  to be trusted and imported into the package
181              manager database before performing any operation. This is useful
182              if  an image build should take and validate repository and pack‐
183              age signatures during build time. This option can  be  specified
184              multiple times
185
186       --target-dir=<directory>
187              Path to store the build results.
188

URI_TYPES

190http:// | https:// | ftp://
191
192         remote repository delivered via http or ftp protocol.
193
194obs://
195
196         Open  Buildservice  repository. The source data is translated into an
197         http url pointing to http://download.opensuse.org.
198
199ibs://
200
201         Internal Open Buildservice repository. The source data is  translated
202         into an http url pointing to download.suse.de.
203
204iso://
205
206         Local iso file. kiwi loop mounts the file and uses the mount point as
207         temporary directory source type
208
209dir://
210
211         Local directory
212

AUTHOR

214       Marcus Schäfer
215
217       2023, Marcus Schäfer
218
219
220
221
2229.25.16                          Oct 16, 2023           KIWI::SYSTEM::BUILD(8)
Impressum