Cleaning up existing machine id files by deleting them
causes an interactive session to be started by systemd
This is something we don't want. As the consequences
of touching the machine id files seems to be too critical
the method has been turned into a hook caller. This
allows the user to make use of it on their own purpose
and by default doesn't mess with the machine id files
Instead of creating new machine ids for systemd and dbus
the method now cleans up all existing machine ids and
leave it up to systemd to initialize and create new ids.
This allows to make use of the native way how systemd
retrieves and handles machine ids
The configuration files /etc/sysconfig/bootloader and
/etc/default/grub needs to be created/updated with the
relevant values regarding the bootloader setup done by
kiwi. This Fixes#226
The chattr utility is used to apply file attributes
So far only the no-copy-on-write attribute can be
specified in a volume setup. If further attributes
are needed they will be added on demand
Storage disks on s390 requires an information about the
type and the blocksize. In case these information is not
provided in the kiwi XML configuration, None was set as
value in the zipl configuration which lead to an error.
This commit provides default values for those parameters
If using root btrfs snapshot, the default toplevel subvolume is set to
/@/.snapshots/1/snapshot, thus all defined subvolumes are mounted
under that cusomized default subvolume. For the first time
subvolumes are mounted it is fine to include /@/.snapshots/1/snapshot
prefix as root is not yet set to that specific path, however in any
future mount this path prefix is not needed any more, as the root
get mounted in /@/.snapshots/1/snapshot by default. Fixes (bsc#1015549)
In order to allow a raw device name in oem-unattended-id
the /dev tree has been added to search list. This is useful
if e.g a ramdisk device which is not part of any /dev/disk/...
or /dev/mapper device map should be used as target disk for
the deployment. Thus a setup to stick the deployment to
e.g /dev/ram1 would look like this
<oem-unattended-id>ram1</oem-unattended-id>
This Fixes#221
Systemd and dbus should use the same machine-id. Therefore
a symlink /var/lib/dbus/machine-id pointing to /etc/machine-id
is created right after systemd-machine-id-setup. Fixes#219
This commit rearranges some code lines in order to run the config.sh
script after the repositories of the image have been included, this
way repositories can be trusted and refreshed in config.sh script.
In preparation to support creation of native docker containers the
way docker likes it, the kiwi schema has to be adapted. So far there
was no way to specify additional metadata information for containers.
With this commit a new section called <containerconfig> is provided.
containerconfig is a subsection of the type and only allowed for
the docker image type. This constraint is checked via a schematron
rule. In addition an xslt stylesheet moves the currently existing
container attribute, which was used to set a name for the container,
into the new containerconfig section as name attribute
Information not provided should end up as a None type in the
list in any case. If an empty string was provided via e.g
--add-repo source,type,, the tokenizer puts in an empty string.
If the information was provided as --add-repo source,type a
None type was used. The code handling the information expected
a None type for not provided information, with an empty string
we end up in validation code which e,g complains that an empty
string can't be converted into an integer base repo priority