This commit includes the root import feature. A `derived_from`
attribute has been included with the <type> section to make
reference to the image file to import. The image format to import
is assumed to be the same as the build type to import.
The current format supported is docker
Instead of creating a simple tarball the tools umoci and skopeo
from the docker tool chain are used to create official docker
images. Along with those tools more information to describe a
container has been added to the schema. A complete container
setup now consists of the following elements
<type image="docker">
<containerconfig name="..." maintainer="..." user="..." workingdir="...">
<entrypoint execute="command">
<argument name="option"/>
...
</entrypoint>
<subcommand execute="command">
<argument name="option"/>
...
</subcommand>
<expose>
<port number="..."/>
...
</expose>
<volumes>
<volume name="..."/>
...
</volumes>
<environment>
<env name="variable" value="value"/>
...
</environment>
<labels>
<label name="..." value="..."/>
...
</labels>
</containerconfig>
</type>
spare_part receives a size value with an optional unit (M|G)
and is used for disk images to allow the creaton of a spare
partition of the configured size. Issue #234
The packages subsection <ignore> only accepted a package
name to become ignored. However a <package> subsection
to install a package allows for an arch selection. The
same should apply to ignore a package. In addition the
allowed content for the arch attribute has been changed
from simple text to a regular expression. Allowed is a
comma seperated list of reserved architecture words like
they are displayed by uname -m
Zypper supports the al (add lock) command which allows to ignore
a package in the dependecny resolution process. This is useful
to prevent installation of a package which was pulled in by e.g
a recommendation flag from the spec file. Packages marked to be
ignored are not handled for apt and yum right now. Using this
feature together with an unsupported package manager backend
results in a warning to the user
This commit ensure that the arch attribute of each package section
is parsed as a comma separated list. This way, as in previous kiwi
versions, each package might be suitable for one or more specified
architectures.
This addresses the following issues
* An image based on btrfs using the entire boot as a subvolume
causes grub to be unable to find its config file. Thus kiwi
now raises an exception in this situation
* Don't prefix the bootpath with the snapshot path if the
btrfs root is placed in a snapshot. Instead the file
etc/default/grub must be written/updated with the
SUSE_BTRFS_SNAPSHOT_BOOTING variable set to true. Once
this is done the bootpath is consistently set to /boot
no matter which snapshot is active
Some attributes needed to be changed in the test xmls. With this
commit all the description files are consistent with the new co-
occurrence constraints.
As part of the machine section it is possible to setup a custom
entry which is stored in the machine configuration file. The
evaluation of such an entry for the vmdk (.vmx) config file
was still missing. This Fixes#122
Now each user item may or may not have a groups attribute. The
groups attribute is a comma separated list of group names. If
present the first group name will be the login or primary group,
if not present, the underlying toolchain will assign the default
login group for that user.
If a script or archive is specified with an absolute path
in the image description, kiwi should not assume this path
to exist below the image description directory but just take
the absolute path as it is. Fixes#70
At the moment there is no class to build the pxe client config
file from information provided with the optional pxedeploy
section. However this is not fatal to the build because the file
could be created manually too. Thus a warning message is shown
which will go away when the pxe client config file creation
has been ported