Commit Graph

33 Commits

Author SHA1 Message Date
Marcus Schäfer
fc7b2ada67 Added volume attribute copy_on_write
The copy_on_write attribute allows to activate or deactivate
the copy on write functionality for the desired volume.
This Fixes #218
2017-01-20 10:24:31 +01:00
Marcus Schäfer
b7f7fa11eb
Update schema for container setup
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
2017-01-09 10:52:41 +01:00
Marcus Schäfer
71be75e728 Update vagrantconfig schema setup
Delete the virtualbox provider, As long as there is no
opensource variant for the ovf creation available we won't
support that provider
2016-12-12 11:18:58 +01:00
Marcus Schäfer
965139c370
Add a docstring for the extension section
Short description what the extension section is good for
2016-12-05 11:45:45 +01:00
Marcus Schäfer
c879c2b172 Allow <extension> section for custom plugins
For the use case to add additional image description information
an extension section exists which allows to add custom section
and attributes. Custom XML information must be connected to a
namespace in order to avoid conflicts with the existing
structure. The following example shows how to place additional
XML information:

<image>
    <extension xmlns:my_plugin="http://www.my_plugin.com">
        <my_plugin:my_feature>
            <my_plugin:title name="cool stuff"/>
        </my_plugin:my_feature>
    </extension>
</image>
2016-12-01 10:45:17 +01:00
David Cassany
e5cd3e9426 Fixed a couple of constraints 2016-10-25 15:52:13 +02:00
David Cassany
c233e7ba4a Redo of xml_parse.py with updated generateDS 2016-10-25 15:22:22 +02:00
David Cassany
8257f65c33 Some tests slightly modified in order to improve coverage
This commit improves some example kiwi files and tests in order
to achieve a 100% code coverage.
2016-10-24 14:35:09 +02:00
David Cassany
4b90a67862 Co-occurrence constraints included in the schema
Constraints for pxe, iso, vmx, oem and docker image types have
been included.
2016-10-21 18:08:04 +02:00
David Cassany
40cf0d1515 Integrating Schematron syntax in schema
Using Schematron syntax in schema co-occurrence constraints can
be easily defined. This commit provides the schematron integration.
2016-10-20 12:32:29 +02:00
Marcus Schäfer
35ddb8e9d8
Fixup doc string for target_removable attribute
The default behaviour was not explained clear enough
2016-10-17 09:11:06 +02:00
Marcus Schäfer
b02b565d94 Added target_removable attribute
Indicate if the target disk for oem images is deployed to a
removable device e.g a USB stick or not. This only affects
the EFI setup if requested and in the end avoids the creation
of a custom boot menu entry in the firmware of the target
machine on first boot. This is related to bnc#993130
2016-10-14 08:31:23 +02:00
Marcus Schäfer
0b9acfc035 Added btrfs_root_is_readonly_snapshot attribute
The attribute allows to specify if the root filesystem should
be set to read-only if it is created as a btrfs snapshot.
The option only has an effect if a btrfs snapshot is used as
root filesystem. Fixes bnc#1000080
2016-10-06 09:30:26 +02:00
Marcus Schäfer
a6621aa148 Respect setup of devicepersistency for boot part
If an extra boot partition is requested it should be added
to the fstab file according to the device persistency setup
or the default uuid persistency type
2016-09-26 18:30:14 +02:00
Marcus Schäfer
d4d711f9e3 Make repository an optional element
So far one repository was mandatory in the XML description.
However, this is not required because all repositories can
be specified on the commandline
2016-08-18 15:34:37 +02:00
Marcus Schäfer
8b150f9f44 Delete obsolete <except> section
The <except> section was formerly used as part of the <split>
section. kiwi no longer supports static split images in favour
of overlay systems based on e.g overlayfs. Fixes #120
2016-08-11 10:58:34 +02:00
Marcus Schäfer
0ea630b658
Rebuild RNG schema and parser for 6.4 2016-08-01 11:15:52 +02:00
David Cassany
c0bcce3404 Updated the user schema layout
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.
2016-07-27 12:26:50 +02:00
David Cassany
25baf73b11 New generated schema and parser 2016-07-26 18:04:11 +02:00
Marcus Schäfer
a4a9ffa9aa Added support for setting the bootloader console
Some bootloader e.g grub supports graphics, text and also
serial consoles to hand over the output of the bootloader
menu. With this patch we allow to customize the console
used by the bootloader. So far only grub makes use of the
new attribute

    <type ... bootloader_console="serial|console|gfxterm"/>

This references Trello:

    https://trello.com/c/q9EhNKKV/155-support-for-grub2-serial-console
2016-06-20 18:24:43 +02:00
Marcus Schäfer
c3004b48eb Support for apt-get package manager
Starting to support Debian based distributions also means to support
the deb repository types. This commit adds the RepositoryApt class
to handle deb repositories for image building. Related to #37
2016-06-08 20:41:09 +02:00
Marcus Schäfer
ec35b4029c Add attribute <type ... overlayroot=true|false/>
Allow to activate the overlay root setup for disk images
2016-06-01 08:40:51 +02:00
Marcus Schäfer
a2f9684c25
Added support for custom rootfs label
A new attribute <type ... rootfs_label="name"/> has been added
This Fixes #66
2016-04-29 16:26:20 +02:00
Marcus Schäfer
08d39049bc Added support for virtual boot partition on arm
Triggered by the firmware="vboot" setup an EFI setup plus a
raw partition without filesystem is created as first partition.
The size of the partition can be controlled by the vbootsize
attribute. The vboot feature is used by the arm architecture
to provide a space in the partition table for custom code as
required by e.g the chromebook. The final customization of the
vboot space is board specific and can't be implemented in a
generic way in kiwi. For finalizing the vboot space the script
hooks editbootconfig and editbootinstall can be used
This is related to Issue #17
2016-03-22 16:20:51 +01:00
Marcus Schäfer
f954861f89 Added support for hybrid GPT
Embedding an MBR into a GPT is required for a collection of
boards, e.g arm rapberry PI. The kiwi configuration provides
a new attribute called

    <type ... gpt_hybrid_mbr="true|false"

which allows to control if the GPT should be hybrid or not.
On build procedures which do not create a GPT the attribute
has no effect. This references Issue #17
2016-03-18 21:41:14 +01:00
Marcus Schäfer
73ef1e5833 Update schema to version 6.3
- Deleted obsolete split section
- Deleted zfsoptions, fsreadwrite and fsreadonly attributes
- Updated allowed values for bootloader and filesystems
2016-03-18 11:21:06 +01:00
Marcus Schäfer
c2e7073456
Adding opal firmware type for ppc64 architectures 2016-03-10 14:23:55 +01:00
Marcus Schäfer
d0fa83681f
Added support for using dracut initrd
As of today only the kiwi initrd could be used with an image
build. This commit adds a new initrd_system attribute and
allows to select between kiwi and dracut as initrd system.
Please note the dracut initrd does not support all features
of the kiwi initrd. This fixes #25
2016-02-29 20:52:25 +01:00
Marcus Schäfer
9745d598d2 Regenerate xml_parse data structures for python3 2016-02-19 11:51:42 +01:00
Marcus Schäfer
40e6308aa9 Port application from python 2.7 to 3.4
For new applications like this kiwi version and its use cases
it is better to base it on a more recent python version
2016-02-17 22:38:38 +01:00
Marcus Schäfer
1d1ed36261
Recompile schema and data structures
New attribute btrfs_root_is_snapshot and methods
2016-01-29 14:38:29 +01:00
Marcus Schäfer
36dd77190d
Rebuild schema and data structures 2016-01-12 22:50:29 +01:00
Marcus Schäfer
09daca60c0
KIWI - appliance builder next generation
a rewrite of the current kiwi from https://github.com/openSUSE/kiwi
2015-12-05 16:17:10 +01:00