Commit Graph

45 Commits

Author SHA1 Message Date
Marcus Schäfer
374be7c042 Completion for grub bootloader configuration
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
2017-01-23 17:24:04 +01:00
Marcus Schäfer
2411c3352d Added attributes element in volume type 2017-01-20 10:26:14 +01:00
Marcus Schäfer
760c88682f
Update container builder code to new schema layout 2017-01-09 11:30:01 +01:00
Marcus Schäfer
3c7ba8b924
Auto update image descriptions to schema v6.5 2017-01-09 11:04:10 +01:00
Marcus Schäfer
f549b03886 Added DiskFormatVagrantLibVirt class
Allow to build vagrant boxes for the libvirt provider
This Fixes #15
2016-12-12 11:27:19 +01:00
Marcus Schäfer
e3bb8e77f1
Added check_volume_setup_has_no_root_definition
The root volume in a systemdisk setup is handled in a special
way. It is not allowed to setup a custom name or mountpoint for
the root volume. Therefore the size of the root volume can be
setup via the @root volume name. This check looks up the volume
setup and searches if there is a configuration for the '/'
mountpoint which would cause the image build to fail
2016-12-05 12:24:57 +01:00
Marcus Schäfer
eaac155067 Add extension validation and data access
If an extension section exists the xml data in this section
is validated against the RelaxNG schema which must be part
of the xmlcatalog for the used extension namespace. If the
data validates the method get_extension_xml_data can be used
to access the etree parse result for each of the extension
configurations
2016-12-01 10:45:17 +01:00
David Cassany
21dfce6595 Parse arch attribute as a comma separated list
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.
2016-11-24 12:26:04 +01:00
David Cassany Viladomat
71d902e4dd Do not delete all repositories if there aren't repositories to import (#191)
This commit adds a tester method to check if there is any 
repository marked as imageinclude. The method is used to
execute import_repositories_marked_as_imageinclude
method only when it is actually needed.
2016-11-10 15:22:53 +01:00
Marcus Schäfer
45d9a1eaa3
grub.cfg: Fixes for btrfs as rootfs
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
2016-11-09 17:15:56 +01:00
Marcus Schäfer
0e733c29a9 Implemented SolverRepositoryRpmMd
Add support for rpm-md repository types
2016-11-08 18:17:51 +01:00
Marcus Schäfer
2c14ee71de Implemented SolverRepositorySUSE
Add support for SUSE online and media repository types
2016-11-08 18:17:51 +01: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
25bb84b148 Corrections on test kiwi description files
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.
2016-10-24 13:07:06 +02:00
Marcus Schäfer
6006a27765
Move info.xml test data into its own file 2016-10-13 10:47:24 +02:00
Marcus Schäfer
527fbf6a60 Evaluate root_is_readonly_snapshot in disk builder 2016-10-06 09:30:44 +02:00
Marcus Schäfer
9ee697f87a
Add evaluation of machine's vmconfig_entry
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
2016-08-23 12:03:18 +02:00
David Cassany
4d3d3c817f Simplified example config file 2016-08-03 09:41:24 +02:00
David Cassany
d659e8a46c Updated get_users and get_user_groups methods
Get_users method has been updated in order to be able to append the
groups attribute when a user is defined in multiple <users> sections in
the description file. Appart from groups, all other user attributes
are ignored if the user was already processed when parsing the description
file.

Get_users_groups method has been also updated so it returns a list of
groups with unique values, keeping the description file order.
2016-08-03 09:25:32 +02:00
Marcus Schäfer
d56122441d
Auto validate XML descriptions for schema 6.4 2016-08-01 11:03:56 +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
2871ca8150 fixing user schema layout 2016-07-26 16:22:33 +02:00
Marcus Schäfer
1eb337049b Refactor profile for volume setup
Don't use volume names in bash variables. In addition that
removes the name limitations we had for volume names
Related to #39
2016-07-05 15:54:25 +02:00
Marcus Schäfer
d663898788 Fixup copy_boot_delete_packages
if no <packages type="delete"/> section exists in the target
the code does not add the packages to become deleted. This
patch changes the behavior in a way that a new section is
created
2016-06-19 23:27:53 +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
d1e689e00b
Create VMware settings file for vmdk subformat
In order to run or convert the vmdk with VMware products a
settings file is required.
2016-05-11 18:46:02 +02:00
Marcus Schäfer
030550a280
Fixed script/archive lookup
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
2016-05-10 13:02:52 +02:00
Marcus Schäfer
e0c83d6516 Merge pull request #73 from SUSE/runtime-checker
Runtime checker
2016-05-08 19:47:06 +02:00
Marcus Schäfer
3b7c4217eb Add check_image_include_repos_http_resolvable
Runtime checker method to check if repositories marked
with the imageinclude attribute are using a publicly
available protocol
2016-04-29 14:30:15 +00:00
Marcus Schäfer
a07bbcac89 Added RuntimeChecker class
An instance of RuntimeChecker allows to semantically check for
error conditions according to the provided image description
and build options. Related to #20
2016-04-29 14:30:01 +00: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
6b1211b8dd Added evaluation of imageincluded repositories
repositories marked as imageinclude needs to be added
permanently to the image. Fixes #56
2016-04-28 16:54:06 +02:00
Marcus Schäfer
24011064b3
Handle fsmountoptions attribute in all builders 2016-04-26 12:40:23 +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
d51059d77a Update all XML descriptions to schema v6.3 2016-03-18 11:21:06 +01:00
Dinar Valeev
24c27b8a97 Add support for POWER architecture
Implements requirements for the partition and bootloader setup
in order to build images for ppc64 architectures. Fixes #18
2016-03-08 11:54:09 +01:00
Marcus Schäfer
e95eab38fa
Added support for using internal build service
An option --obs-repo-internal was added
2016-01-25 17:09:19 +01:00
Marcus Schäfer
26933705c7
Add support for alternative config file *.kiwi 2016-01-25 16:24:23 +01:00
Marcus Schäfer
1a15ee0ba6
Added warning message if pxedeploy section is used
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
2016-01-05 12:24:03 +01:00
Marcus Schäfer
3ef9bcbff2
cleanup test data to be consistent 2016-01-05 11:46:43 +01:00
Marcus Schäfer
17402c42ba
Added recovery setup 2016-01-05 11:36:10 +01:00
Marcus Schäfer
c081e364e5 Added DiskFormatGce class implementation 2016-01-04 13:15:40 +01:00
Marcus Schäfer
ff52d672fe
Added create_header_end_block method in Iso class 2015-12-09 17:06:22 +01:00
Marcus Schäfer
f4d3711aa5
Added isols method in Iso class 2015-12-09 12:53:00 +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