Commit Graph

213 Commits

Author SHA256 Message Date
Marcus Schaefer
70f917d548 - Bump version: 9.23.24 → 9.23.25
- Update zypp.conf architecture setting
  Make sure the architecture is set as parameter in the
  zypp.conf file used for building the image. This is needed
  to allow differentiation between host arch and image arch
  for cross image build environments

- Added option to set the image target architecture
  The option --target-arch allows to set the architecture
  used to build the image. By default this is the host
  architecture. Please note, if the specified architecture
  name does not match the host architecture and is therefore
  requesting a cross architecture image build, it's important
  to understand that for this process to work a preparatory
  step to support the image architecture and binary format
  on the building host is required and is not considered a
  responsibility of kiwi. There will be a followup effort
  on providing a plugin for kiwi which should be used to
  manage the needed binfmt settings for cross arch image
  builds

- Added openssl to the core requires
  openssl is used in kiwi to construct a password hash
  if the plaintext password feature for user settings
  is used. This Fixes bsc#1184128

- Bump version: 9.23.23 → 9.23.24

- Decommission obsolete code reaching EOL

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=197
2021-04-15 13:10:57 +00:00
Marcus Schaefer
2782b4a535 - Bump version: 9.23.21 → 9.23.22
- Refactor building of root cmdline setting
  Creating the root= cmdline parameter was based on methods
  that deals with the uuid. However, it's also possible to
  use a label information for the root= cmdline. To support
  this kiwi issued a 'blkid --uuid' command but that requires
  udev device names to be present on the host. The open
  buildservice workers do not run udev and fails apart the
  standard. This commit refactors the root cmdline setup
  to work with the device node as it exists during build
  time such that the blkid call runs against that device
  node.

- Bump version: 9.23.20 → 9.23.21

- Delete yum from packagemanager in schema
  Auto convert yum to dnf if set as packagemanager. This allows
  to delete the yum handling from code parts in kiwi where this
  was still present. In addition this fixes the inclusion of yum
  into the packagelist. This Fixes #1768

- Add Strong Typing to builder APIs

- This PR add APIs Strong Typing to the repository APIs
  Strong Typing has been added to the following files:
  repository/base.py
  repository/pacman.py
  repository/apt.py
  repository/dnf.py

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=196
2021-03-23 08:22:52 +00:00
Marcus Schaefer
ab4d2990ed - Bump version: 9.23.19 → 9.23.20
- Fixed API vs. CLI inconsistency
  when using kiwi as API the program fails with a usage message
  from the Cli class. The kiwi.cli module should not be imported
  except for kiwi comandline tasks. It has turned out that the
  RuntimeConfig class which is used in several places in different
  API classes imports Cli and creates an instance of it to check
  for a global option. This causes major issues for all programs
  which uses the kiwi API but not the command line interface because
  the docopt call in Cli() expects a valid docstring which only
  exists in kiwi's cli.py. This commit fixes the inconsistency
  and allows people to use the kiwi API independent of any
  command line interface. Fixes #1755

- Make sure man pages are part of sdist tarball
  The current tarball when uploaded to pypi via gitlab does
  not contain the manual pages because the doc target to build
  them is not called. This commit adds a doc_man tox target
  which is called prior pypi release. This Fixes #1746

- Refactor grub2 installation
  This commit refactors grub2 installation method to split it in two
  parts. Former grub2.install method was meant to run the grub2-install
  tool, however, in addition it was also running the secure boot
  installation shim-install. The install method in KIWI is skipped for
  those architectures and firmware combinations for which bios support
  doesn't exist. This was leading to skip the secure boot installation.
  The current approach strips the secure boot installation logic from the
  grub2.install method, so skipping the install method does not

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=195
2021-03-08 14:03:14 +00:00
Marcus Schaefer
a9eb104cde - Bump version: 9.23.15 → 9.23.16
- Fix lsblk flags to get sorted output
  This commit modifies the lsblk command flags to get a sorted output
  according to the disk layout.
  This is related to 176c7eab commita and it fixes bsc#1182264

- Fixed kiwi-systemdeps-filesystems requires
  The filesystems requires list also contains low level
  tools to manage partitions, loops and subsystems. The tools
  to manage LUKS(cryptsetup) are missing and imho belongs there
  along with the LVM tools which are listed

- Add strong typing for filesystem classes
  This commit strong typing for FileSystem* classes.
  Part of #1644

- Added ca-certificates-mozilla to build tests
  ca-certificates-mozilla provides the issuer CERT to allow
  for https repo connections. The standard ca-certificates is
  not enough on suse/leap/sles based integration tests

- Fixed packaging metadata for pypi
  Include the README as long description in the metadata
  for pypi. The change causes the description on pypi.org
  to show the ReST rendered README instead of a message
  that the author of the module hasn't provided a description

- Delete legacy oem build test from leap
  The legacy custom kiwi boot test will only continue

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=194
2021-02-17 08:10:09 +00:00
Marcus Schaefer
ca9be86105 - Bump version: 9.23.14 → 9.23.15
- Update documentation
  Mention the cross arch build capability of the boxbuild
  command. Also update the example box used in the self
  container build chapter

- Allow to specify OBS credentials in runtime config
  In preparation to the new obs kiwi plugin this commit adds
  an opportunity to store obs credentials such that the plugin
  could also be used in a non-interactive way

- Update build_status helper for box plugin
  The suse box has been renamed to tumbleweed

- Update documentation
  Fixed link list to integration tests

- Added rawhide test status to build_status helper

- Added Fedora Rawhide integration tests

- Followup fix for RuntimeConfig refactor
  The refactor of the RuntimeConfig made sure the runtime config
  file is read in only once. But if the file exists and is empty
  after yaml.safe_load like in the kiwi package provided
  /etc/kiwi.yml which contains all config options as comments,
  the code still reads in the file with every new instance of
  RuntimeConfig. This commit fixes this condition

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=193
2021-02-12 14:21:45 +00:00
Marcus Schaefer
9fcb82ab90 - Bump version: 9.23.11 → 9.23.12
- Added aaa_base to s390 TW build tests
  On s390 TW aaa_base is not pulled in by a dependency in obs.
  It looks like the package is pulled in by a file provides which
  is not resolved by obs. Thus the package needs to be added
  explicitly

- Bump version: 9.23.10 → 9.23.11

- Follow up fix, creating custom grub EFI images
  Make sure custom EFI grub image is copied to the media
  directory if this is different from the root directory
  e.g on creation of live images

- Bump version: 9.23.9 → 9.23.10

- Follow up fix, creating custom grub images
  Moving the grub mkimage call as chroot operation also broke
  the creation of image builds that uses the legacy custom kiwi
  boot image feature instead of dracut. This commit fixes it

- Added leap box to be shown by build_status helper

- Added decorators to help with API management
  The lifetime of API methods could be limited due to
  the development of kiwi. To allow for a deprecation
  process the following helper methods has been added

- Bump version: 9.23.8 → 9.23.9

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=192
2021-02-01 15:19:26 +00:00
Marcus Schaefer
597c30d043 - Bump version: 9.23.4 → 9.23.5
- Update contributing link in README

- Bump version: 9.23.3 → 9.23.4

- Fixes the rpmdb bootstrap management for DNF on SUSE
  This commit makes sure that the compatibility symlink for
  /var/lib/rpm is created when the host rpmdb path is set to something
  different. This fixes a mismatch on bootstrapping SUSE using DNF.
  Fixes #1669

- Bump version: 9.23.2 → 9.23.3

- Modify lsblk flags for a consistent output across distros
  This commit modifies the lsblk flags to make use of the list format
  instead of raw output. `--list` flag seams to keep the geometry order
  and produces a consistent output in several distros.

- Bump version: 9.23.1 → 9.23.2

- Update kiwi-systemdeps-image-validation
  Make python anymarkup to be only recommended. The package
  does not exist on all distributions, e.g suse does not
  provide it and for kiwi it's an optional plugin

- Fixed missing provides tag
  When building WSL images the image type is set to appx.
  Therefore obs is looking for what provides kiwi-image:appx
  This provides tag was missing

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=191
2021-01-15 08:30:18 +00:00
Marcus Schaefer
f873c205ea - Bump version: 9.22.0 → 9.22.1
- Fixed validation of bool value in dracut module
  The oem-multipath-scan setup results in a bool variable inside
  of the initrd code. The variable kiwi_oemmultipath_scan is
  therefore either set to "true" or "false". A check in code
  of the form [ -n ... ] is stupid since the variable always
  contains text. This commit fixes the validation to make use
  of the bool() method provided for these type of variables

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=190
2020-12-08 11:40:46 +00:00
Marcus Schaefer
b52bd567bd - Bump version: 9.21.26 → 9.22.0
- Omit multipath module by default
  The plain installation of the multipath toolkit activates the
  dracut multipath code. The setup if the target image runs in a
  multipath environment or not should however be decided explicitly
  in the image description via <oem-multipath-scan> and not
  implicitly by the presence of tools

- Fixed multipath disk device assignment in kiwi lib
  The former lookup of the multipath mapped disk device contained
  a race condition. If the lookup of the device mapper files happened
  before multipathd has finished the initialization, kiwi continues
  with the unix node name and fails when the device mapper keeps
  a busy state on it. This commit changes the code such that in case
  of an explicit request to use multipath the lookup of the mapped
  device becomes a mandatory process that runs until the
  DEVICE_TIMEOUT is reached. Default timeout is set to 60 sec.
  This references Issue SUSE-Enceladus/azure-li-services#255

- Fixed PackageManager decorator in unit test
  Implement patch decorators for factories consistently

- Refactor Repository
  This commit refactors the Repository class and turns it into a
  proper factory class and also includes type hints to facilitate
  it's use from an API POV. Related to #1498

- Add DNF as a proper dependency for openSUSE
  This is required so that OBS can build openSUSE containers and appliances

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=189
2020-12-04 07:57:28 +00:00
Marcus Schaefer
5fc40497e0 - Bump version: 9.21.25 → 9.21.26
- Fixed dnf plugin config setup
  Only create a dnf plugin config if the plugin config directory
  to store that file exists in the system

- Set --releasever=0 for microdnf
  To allow microdnf to work from an empty root directory
  we need to set the release version to zero

- Use custom varsdir for dnf builds

- Partially revert dcounter.c flaw report
  I could not find a problem with this read call
  it does check on the buffer boundaries and it
  only writes the bytes that read returns until
  read returns <= 0

- Fixed dcounter.c flaw report
  Check buffer boundaries if used in a loop

- Fixed dcounter.c flaw report
  Variable scope can be reduced and useless value assignment.

- Fixed microdnf support
  The installroot argument must be used together with --config
  and additionally with --noplugins, as well as --setopt for
  cachedir, reposdir and varsdir. Related to #1625

- Move tools README to ReST

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=188
2020-11-20 15:15:25 +00:00
Marcus Schaefer
9ffad2d25d - Bump version: 9.21.22 → 9.21.23
- Move usrmerge package out of the bootstrap section
  Currently bootstrap phase on APT package manager makes use of the
  debootstrap tool. However debootstrap is limited to execute  the
  bootstrap using a single repository. This is causes several limitations
  in OBS builds, such as the impossibility of using update repositories or
  the inclusion of any package that is not part of the standard OBS
  repository.
  Usrmerge package is part of the universe repository in OBS which is not
  te one used by debootstrap, so it can't be installed on bootstrap phase.

- Bump version: 9.21.21 → 9.21.22

- Fixed package manager api inconsistency
  The method post_process_install_requests_bootstrap in the
  zypper package manager was missing an argument

- Bump version: 9.21.20 → 9.21.21

- Fixed regexp for grub rootdev substitution
  The regular expression to match the grub root device
  used a lazy glob match ".*?". This however matches a
  too long part depending on the rest of the content.
  This commit fixes the expression to be strict on
  the allowed characters and makes sure the anchor
  characters are not part of the matching character
  class. This Fixes #1607

- Fix quick start guide build command

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=187
2020-11-05 09:57:56 +00:00
Marcus Schaefer
809f9671ca - Bump version: 9.21.19 → 9.21.20
- Deleted yast from test-image-qcow-openstack
  yast is not part of the testing queue in kiwi integration tests

- Obsolete config functions baseMount/baseCleanMount
  The above methods are obsolete since kiwi handles these
  mount/umount processes as part of the core builder code.
  This Fixes #1536

- Allow custom root volume name setup
  In addition to the custom size of the root volume it's now
  also possible to setup the name of the root volume as follows:
  <volume name="@root=rootlv"/>
  If no name for the root volume is specified the default
  name: LVRoot applies as before. This Fixes #1530

- Rename image build tests
  To use the image builds in openQA they have to have a unique
  name such that it cannot happen that a cached version of an
  image in openQA is used. The current names matched openQA
  cached images e.g openSUSE-Tumbleweed and in addition different
  image build tests used the same name. This commit uses the
  name of the image as it is organized in its directory structure
  prepending "kiwi-" to be unique in openQA when it fetches
  the image. This is realted to Issue #1555

- Add support for s390 CDL DASD disks
  On s390 and in CDL mode (4k DASD) the call of grub2-install
  does not work because grub2-install is not able to identify

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=186
2020-10-28 11:47:44 +00:00
Marcus Schaefer
cbd4c1e210 - Bump version: 9.21.18 → 9.21.19
- Update outdated OBS User Guide Links

- Fixed device_array structure in get_selected_disk
  In reference to Issue #880 a bug was introduced that broke
  the contents of the device_array which causes issues on
  installations with two or more attached disks. The change
  in the mentioned PR reduced the tuple for each disk
  from 3 elements to 2 elements. Therefore the loop that
  iterates over the disk tuples via modulo 3 was broken.
  This commit fixes the modulo operation to correctly
  parse the disk_list. Fixes #1588

- Fixed strncopy in dcounter helper
  The max size of the copy operation was always set to zero
  because the strlen of an empty buffer is zero. Bad mistake
  from my side :( This Fixes #1579

- Bump version: 9.21.17 → 9.21.18

- Fix profile docs
  This commit fixes the profiles documentation. The example KIWI-NG
  command was using wrong flags order. This commit fixes the `--profile`
  flag order in documentation.

- Enhance scope of _fix_grub_root_device_reference
  In addition to the wrong root=/dev/mapper/loop... reference
  fixing, written by grub2-mkconfig when used in obs there is
  also the case that grub2-mkconfig writes root=PARTUUID which

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=185
2020-10-21 12:54:03 +00:00
Marcus Schaefer
d8d2c74be1 - Bump version: 9.21.16 → 9.21.17
- Make dependencies to dracut-kiwi-lib release specific
  This commit adds a dracut-kiwi-lib dependency to dracut-kiwi-oem-dump and
  darcut-kiwi-oem-repart to match up to the release level. This way the
  dependency ensures the pulled binaries they are all part of the same build.

- Bump version: 9.21.15 → 9.21.16

- Delete length limitation of image id attribute
  For legacy reasons the <image id="..."/> attributes was
  limited to 10digits. The contents of /etc/ImageID are now
  free format and no longer strictly evaluated. Thus the
  limitations on the id attribute can be deleted

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=184
2020-10-05 13:27:47 +00:00
Marcus Schaefer
011d24df4a - Bump version: 9.21.14 → 9.21.15
- Align dracut-kiwi-lib version with packages requiring it
  This commit enforces dracut-kiwi-oem-repart and
  dracut-kiwi-oem-dump to require dracut-kiwi-lib of the same exact
  version. This prevents dracut-kiwi-lib and the packages
  dependent on it being installed on a image with inconsistent versions.
  Fixes #1529

- Allow to configure .changes creation and bundling
  Provide config option has_package_changes in the runtime config
  file and set a useful default. For building outside obs the
  default for the .changes creation is switched on, for building
  in obs it's switched off because obs creates its own info file

- Fix compat link for rpmdb location
  This commit fixes the symlink creation for `/var/lib/rpm`. More specific
  for derived container images in which the base root tree already
  included the `/var/lib/rpm` the link, the `ln` command was creating a
  symlink inside the `/var/lib/rpm` folder givent that it was following
  the already existing symlink. Adding the `--no-target-directory` force
  `ln` command to treat `/var/lib/rpm` path as the fully qualified symlink name.
  Fixes bsc#1176977

- Report download URL on failed request
  In case a network request to a given URL failed the report message should include the URL
  This Fixes #1572

- Use pragma: no cover to skip non reachable code
  Instead of placing the file into .coveragerc use the

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=183
2020-10-02 12:35:15 +00:00
Marcus Schaefer
a9e1337cc2 - Bump version: 9.21.13 → 9.21.14
- Fixed s390/sle15 Virtual disk integration test
  The integration test used FBA mode as target. As the target
  is expected to be KVM this is the wrong setting. SCSI should
  be used instead. This Fixes bsc#1170863

- Followup fix to handle one disk type better
  The vmx type is auto converted into an oem type with rootfs
  resize disabled such that all disk images can be handled
  under one disk type. However people who run kiwi on the
  commandline and have selected --type vmx before now end
  with an error message saying that there is no vmx type
  because it was converted into an oem type. To handle this
  more gracefully this commit changes the commandline
  option --type vmx into --type oem if provided and prints
  a warning message.

- Bump version: 9.21.12 → 9.21.13

- Cleanup grub adaptions code
  The grub setup code has some after grub-mkconfig code that
  fixes the written grub.cfg file on certain conditions. For
  a better understanding and readability those conditions
  and reasons are now put into private _fix* methods that
  explains why we need to patch the written grub config file.
  We all hope that those methods can go away when grub gets
  fixed properly. This Fixes #1527

- Cosmetic update for build status helper

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=182
2020-09-23 11:09:04 +00:00
Marcus Schaefer
9ab070caca - Bump version: 9.21.11 → 9.21.12
- Added consistency runtime check for the type setup
  multiple type sections within one preferences section is allowed
  in a kiwi image description. However, if multiple type sections
  for the same image attribute are configured only the last type
  configuration will be ever reachable. The proposed runtime check
  in this commit detects this situation and raises an exception
  showing the conflicting types including a solution suggestion
  which needs to be based on profiles to distinguish between
  types of the same image type name.

- Get default maintainer and author from image description
  This commit sets the maintainer and author metadata from the description
  section of the image in they are not explicitly specified in
  container-config section.
  In addition it sets the default container name to `system-container`
  instead of `systemContainer` as uppercase letters are not valid for
  docker container references.
  Fixes #1419

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=181
2020-09-22 08:11:03 +00:00
Marcus Schaefer
d2d9f43f46 - Bump version: 9.21.10 → 9.21.11
- Update build test directory names
  Name the build test directory to follow the changes done
  in Issue #1425. There is only one disk image type now, thus
  the tests for testing disk images should indicate that
  better. Also the tests that build live iso images should
  indicate a live iso not only an iso as it could be mixed
  up with an install iso

- Consolidate build test names and description
  Update build test image names to be more generic and not
  bound to a specific version of a distribution. As the tests
  are usually based on rolling releases of distros the name
  of the test image should be generic. Also adapted the
  specification of the test images to describe the focus
  of the test if not generic.

- Bump version: 9.21.9 → 9.21.10

- Fix the early boot grub.cfg file
  This commit makes sure that the early boot configuration files
  for grub make use of the proper boot path and omiting the `/boot`
  prefix if there is a dedicated boot partition.
  Fixes #1553

- Change Appliance names to drop the name LimeJeOS
  The name LimeJeOS was an invention of the SUSE Studio project.
  Since the project does no longer exist, users have no idea
  what the name means. Therefore the integration tests as well

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=180
2020-09-18 14:10:42 +00:00
Marcus Schaefer
fb5e40aa00 - Bump version: 9.21.6 → 9.21.7
- Fixed archlinux integration test build
  The setup of the locale via systemd-firstboot --locale=en_US.UTF-8
  failed on archlinux with the error message Locale en_US.UTF-8 is not
  installed. This commit sets the locale explicitly

- Fixed GCE integration test build
  nothing provides google-compute-engine-init

- Fixed bootloader grub copy SameFileError exception
  Only copy the file if the given source and destination are
  not the same file

- Simplify build_status helper
  Instead of a static list with all integration test build names
  only maintain a list of integration test build project names

- Bump version: 9.21.5 → 9.21.6

- Skip filesystem check for XFS prior xfs_grow
  running xfs_repair check isn't strictly necessary before resizing,
  and in some cases it may even prevent resizing by giving an error
  that would be cleared through mounting the fs (e.g. when the fs
  wasn't cleanly umounted, and thus letting xfs recover and replay
  its journal). Given that xfs can only grow online (while being mounted),
  this is sufficient to ensure that the fs is in a state where it
  can be resized. This is related to bsc#1174009

- Fixed code logic in resize_filesystem method

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=179
2020-08-12 14:36:32 +00:00
Marcus Schaefer
78beb0501a - Bump version: 9.21.2 → 9.21.3
- Fixes live ISOs
  This commit fixes iso images. Due to a change introduced in c7ed1cf
  live ISOs were no longer booting as the rootfs.img filesystem was
  copied to the squashfs container while being still mounted. Because of
  that, at boot time, it refused to mount.
  This commit adds umount method for the filesystem base class, so it
  can be umounted before deleting the instance.
  Fixes #1489 and bsc#1173356

- Global variables (#1485)
  * Fix according to PEP8
  * Refactor global variables pythonic way
  * Remove unused import

- Add locale configuration hints in docs

- Add missing decorator for static methods

- Bump version: 9.21.1 → 9.21.2

- Fixed check for root device in grub config
  There is a code path that fixes the grub2-mkconfig used root device
  when building in an environment that does not allow to resolve the
  by-X path names, e.g an obs build worker without udev. For images
  that explicitly defines a root=... value in the kernelcmdline
  attribute the root device check was not called because the
  _get_root_cmdline_parameter method returns None. This commit fixes
  the method to return the expected root device in any case such that

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=178
2020-06-25 15:09:37 +00:00
Marcus Schaefer
5c8c164bbd - Bump version: 9.21.0 → 9.21.1
- Fixed test-image-qcow-openstack
  Nothing provides libyui-ncurses-pkg11, yast2-trans-en_US in
  TW anymore

- Moved sle12 ppc integration test to internal bs
  In agreement with IBM the sle12 integration test has been moved
  into the internal buildservice. The reason for this change is
  a python 3.4 compatibility problem. This version of python is
  used in sle12 but would require patching of upstream kiwi in
  terms of type hints and annotations to continue to work.
  We don't want to cary this patch upstream but in the sle12_kiwi
  repository which contains the kiwi used in sle12. Therefore
  also the integration test needs to move into the internal
  sle12 space.

- Ignore MyPy cache

- Ignore VSCode cache

- Remove sed calls to fix /etc/vimrc
  An update of vim in Tumbleweed will move /etc/vimrc to /usr/share/vim as part of
  the /usr - /etc split. This makes the sed call fail because /etc/vimrc no longer
  exists.
  However, the fix is not required anymore then, as the vim package dropped the
  "syntax on" line from the default vimrc.

- Fixed permissions of custom boot image root dir
  When building a custom kiwi initrd the root directory

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=177
2020-06-12 12:46:01 +00:00
Marcus Schaefer
2a6aa35347 - Bump version: 9.20.15 → 9.20.16
- Fixed schematron rule for bootloader targettype
  The targettype attribute must be allowed for the grub2_s390x_emu
  bootloader name

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=175
2020-05-22 13:13:18 +00:00
Marcus Schaefer
e25a1cc474 - Bump version: 9.20.14 → 9.20.15
- Fixed parse result description reference
  The object that holds the parse result also contains an
  information about description_dir and derived_description_dir.
  The change on the markup processing impacted the value for
  description_dir to be no longer the origin (user provided)
  directory. That broke any reference of files that belongs
  to the description directory like custom scripts config.sh,
  images.sh and so on.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=174
2020-05-22 12:43:23 +00:00
Marcus Schaefer
2a4005e094 - Fixed sdist MANIFEST
kiwi.markup was not part of the source tarball

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=173
2020-05-22 11:30:26 +00:00
Marcus Schaefer
9d8a13eaf3 - Bump version: 9.20.13 → 9.20.14
- Remmove any Recommends for CentOS7
  This commit fixes the package spec for CentOS 7. In CentOS 7 there is no
  support for weak dependencies. In 9792cea1 a recommended dependency on
  gpg tools was included for all builds and this caused a failure for
  CentOS 7. With this commit, the recommended dependency, is omitted for
  any pre CentOS 8 distro.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=172
2020-05-22 11:24:13 +00:00
54b0db90ee osc copypac from project:Virtualization:Appliances:Staging package:python-kiwi revision:229
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=171
2020-05-22 10:05:43 +00:00
Marcus Schaefer
34a69461c1 - Bump version: 9.20.12 → 9.20.13
- Fix default repositories for APT
  This commit fixes the default repositories configuration for APT.
  Fixes #1439

- Include recommend for gpg tool

- Fix signing keys management for APT
  This commit fixes the management of the trusted keyring for apt
  repositories. It creates a `trusted.gpg` keyring with the provided
  signing keys so APT can check against that the configured repositories.
  Fixes #1440

- Fixed spec file
  This patch is two fold. First the py2 version of kiwi was
  dropped since py2 is EOL. To indicate that correctly on the
  package level python3-kiwi has to obsolete python2-kiwi.
  The other part of the change is a file conflict of the
  files:
  etc/bash_completion.d/kiwi-ng.sh
  /usr/share/doc/packages/python-kiwi/README
  which were provided by the kiwi-man-pages sub-package but
  were moved to be provided by the main python3-kiwi package
  now. On update of the package with an older version of
  kiwi that maintains this files to belong to kiwi-man-pages
  a file conflict at install time appears. To solve this
  python3-kiwi now conflicts with kiwi-man-pages < %{version}
  This Fixes #1413 and Fixes bsc#1168973 and bsc#1156677

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=170
2020-05-22 08:14:34 +00:00
Marcus Schaefer
bff191c9e7 - Bump version: 9.20.8 → 9.20.9
- Fixed _get_grub2_mkconfig_tool
  Last patch on this method breaks the search for alternative
  mkconfig names. It returns always on the first lookup which
  could be none. This breaks on systems that uses a different
  name than grub2-mkconfig, like on Ubuntu.

- Increase spare space on disk repart
  The sizing of the virtual cylinders in parted seems to be unfavorable,
  as with some disks and SD cards here the device size is not a multiple
  of the cylinder size, so the last incomplete cylinder is wasted.
  If this wasted space is more than 5MiB, kiwi tries to resize indefinitely.
  Therefore min_additional_mbytes gets increased to prevent running
  into this situation. This Fixes bsc#1165823

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=169
2020-04-17 10:16:43 +00:00
Marcus Schaefer
93ea3ef997 - Bump version: 9.20.7 → 9.20.8
- Fixed return value from _get_grub2_mkconfig_tool
  The method returned the basename of the tool if it could
  be found by Path.which(). But the method's scope has been
  changed in a way that the return value of the method must
  be the result from Path.which() to allow working on the
  full path name.

- Bump version: 9.20.6 → 9.20.7

- Make CommandCapabilities.check_version take the longest match
  This commit ensures that when trying to parse the version of a tool
  the comparison is done with the longest match for the given regular
  expression. This solves cases such in `grub2` where the tool name
  already provides some digit that could be seen as a version.

- Fixed check for grub mkconfig capabilities
  The check for the capabilities of the tool were applied to
  the tool installed on the host but the later call of the
  tool will be done with the tool inside the image root

- Validate use of GRUB_USE_LINUXEFI
  On systems that uses GRUB_USE_LINUXEFI with grub2 version
  less than 2.04 there is no support for dynamic EFI
  environment checking. In this condition we extend the grub
  setup to add this support. The change kiwi does is as
  follows:
  * Apply only on grub < 2.04
  1. Modify 10_linux to set linux/initrd as variables

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=168
2020-04-16 10:28:11 +00:00
Marcus Schaefer
dafbf83c68 - Bump version: 9.20.5 → 9.20.6
- Fixed plugin documentation
  While setting up the kiwi boxed plugin I realized some small
  mistakes in the plugin documentation

- Allow overlay directories for profiles
  In addition to the existing root/ overlay directory which
  applies always there can now also be profile specific overlay
  directories. If an overlay directory should be applied for
  a specific profile this can now be done by placing this data
  in a directory that is named the same as the profile name.

- Make build of filesystem image optional for pxe
  Allow to build a kernel/initrd pair without a root
  filesystem image. Related to Issue #1388

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=167
2020-04-07 07:48:24 +00:00
Marcus Schaefer
6c6a07534f - Bump version: 9.20.4 → 9.20.5
- Add SECURE_BOOT parameter for grub2 in efi mode
  This commit adds the SECURE_BOOT parameter on bootloader sysconfig
  for grub2.
  Fixes bsc#1167746

- Added new oem-resize-once element
  The new element controls the behavior of the repart/resize code
  in the oem-repart dracut module. By default the repart/resize
  happens on every reboot and therefore also allows for disk
  geometry changes during the livetime of the machine. If the
  element is set to false the repart/resize operation happens
  only once and then never again. To check for this condition
  a new profile environment variable kiwi_rootpartuuid which
  holds the PARTUUID of the root partition has been added to
  the disk builder.

- No default boot partition for btrfs_root_is_snapshot
  This commit ensures no boot partition is used when root is set to be
  a btrfs snapshot unless this is explicitly required by the user.
  Fixes #1351

- Make disk allocation check more robust
  The tools used to check the disk allocation condition
  are sfdisk and sgdisk. The problem is that at least sfdisk
  is different in behavior and functionality compared across
  the distributions we support with kiwi. In addition
  the verification for the msdos table cannot be used to
  distinguish between intentionaly wanted free space on

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=166
2020-03-27 10:34:03 +00:00
Marcus Schaefer
117b6ec266 - Bump version: 9.20.3 → 9.20.4
- Fix a regression for container builds in OBS
  This commit fixes a regression introduced in 12d84be2. We need to ensure
  that `labels` item exist in oci image configuration dict before updating
  it and creating it in case it doesn't exist.

- Fixed suse doc push pipeline
  build and push are not allowed to run in parallel

- push suse doc only on merge to master

- Build and push SUSE documentation
  On any pull request also build the suse documentation and
  push changes to the OSInside/kiwi-suse-doc git repository.
  The SUSE documentation team needs a repo with docbook sources
  for the publishing procedure. In addition change the gitlab
  pipeline to run in three stages: Test, Documentation and
  Package. Let the style and unit tests run in parallel and
  cleanup the dependency setup

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=165
2020-03-04 17:31:16 +00:00
Marcus Schaefer
8d3c5ca024 - Bump version: 9.20.2 → 9.20.3
- Fix container labels setup in OBS
  This commits fixes the containers label setup in OBS, ensuring that
  adding the 'org.openbuildservice.disturl' label does not clear any
  other label.
  Fixes #1338

- Bump version: 9.20.1 → 9.20.2

- Fixed schema regexp validation
  Regexp patterns used in the schema are translated into python
  expressions by generateDS. It's required to use the XSD schema
  to run generateDS, xsd however has some restrictions on pattern
  use which leads to a warning message for the ones fixed here

- Fixed completion_generator
  Due to the change of the binary name for consistency in the
  docopt docstrings the completion generator failed to produce
  correct results. This commit fixes it

- Store Mock build logs and built RPMs as short-term artifacts
  This makes it much easier to debug what is happening with mock when
  failures occur.

- Added sle15 ppc oem integration test
  Related to Issue #1325

- Added task plugin documentation
  Documentation for developers how to write a custom kiwi

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=164
2020-03-03 07:59:14 +00:00
Marcus Schaefer
cb9abdbf66 - Bump version: 9.20.0 → 9.20.1
- Added serial console in centos integration test
  For use with Kanku we enable the serial console for the
  centos integration test image

- Make PrEP partition known to GPT partitioner

- Use GPT table for Power ofw firmware
  GPT partition table should be preferred for power systems
  these days. Related to Issue #1325

- target blocksize for IBM Power8 systems is 4k
  Adapt the oem image integration test for bare metal to use
  4k blocksize

- Fixup documentation for consistency
  There is the legacy kiwi version and there is this kiwi(next generation).
  From a documentation perspective there are several inconsistencies that
  could confuse users. This commit makes the name for KIWI-NG consistent
  across the entire documentation. At places where we point to older
  documentation we use the term Legacy KIWI and a link to the documentation
  that covers this part. All this is needed in preparation to cleanup the
  documentation situation for the SUSE documentation but with respect to
  the upstream doc sources, their layout and markup.

- Do not create empty macros file
  This commit makes sure to empty RPM macros files are created during
  the build. Additionally it also ensures that no needless `rm` and `mkdir`
  calls are done.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=163
2020-02-19 17:04:43 +00:00
Marcus Schaefer
1333c4491c - Bump version: 9.19.15 → 9.19.16
- Deleted distro provided login.defs from overlay

- Delete use of methods that are done by the builder

- Deleted obsolete ifplugd from arm build test

- Deleted obsolete ifplugd from s390 build test

- Update status helper script
  Also show new ppc integration test builds

- Added fedora ppc integration test
  Added obs integration test for building a simple disk image
  to be started in a VM on power. Related to Issue #1325

- Added suse ppc integration test
  Added obs integration test for building a simple disk image
  to be started in a VM on power. Related to Issue #1325

- Bump version: 9.19.14 → 9.19.15

- Disable RPM module content validation and filtering when building in OBS
  The Open Build Service builds images by identifying the requested dependencies,
  downloading them into an isolated environment, regenerating the repository
  metadata from scratch with *only* that content, and then passing those
  new repositories to be used for building images. This enforces the
  reproducibility of the image build process.
  However, when building images for Linux distributions that have

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=162
2020-02-06 09:11:04 +00:00
Marcus Schaefer
4d719ad416 - Bump version: 9.19.9 → 9.19.10
- Follow up fix for kernel version lookup
  When using custom kiwi boot images a shell method named
  baseCreateCommonKernelFile was used to create a common
  kernel file name in the boot image to allow a simpler
  search code in the builder. The search code in the builder
  however uses the standard kernel naming schema and with
  the latest changes to the kernel version lookup the
  common name did not match the matching pattern anymore.
  The use of such a common kernel file is obsolete and
  the shell method can finally be deleted.

- Bump version: 9.19.8 → 9.19.9

- Refactor kernel version lookup
  For the lookup of the kernel version kiwi provided a small
  C program that reads the first bytes of the kernel binary
  and extracts the version information. Given the various
  compression formats and also the problem of kernel files
  that contains the decompressor code which could be anything
  it has turned out to be difficult to provide a stable tool
  to read the version from the binary. Therefore the code in
  kiwi was refactored to read the version via regexp match
  from the filename which also makes kversion an obsolete
  tool. This Fixes #1308

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=161
2020-01-13 11:54:14 +00:00
1adacb13cb - Bump version: 9.19.7 → 9.19.8
- Update libyui-ncurses-pkg10 to libyui-ncurses-pkg11
  In Tumbleweed there is no longer the libyui-ncurses-pkg10 its been
  superseded by libyui-ncurses-pkg11.
  This fixes the test-image-qcow-openstack integration test

- Reference commit for SUSE maintenance
  This commit adds a reference to Issue #1301 and the report in bugzilla
  bsc#1159538. The issue was fixed in commit 7d96d19c

- Fix grub2 configuration for shim fallback setup
  If shim fallback setup is enabled the grub.cfg is copied to the EFI
  partition. This commit makes sure that the grub.cfg is copied to the EFI
  partition according to the efi mount point.
  Fixes bsc#1159235

- Ensure no swap volume is added on btrfs
  When the selected filesystem is btrfs the volume manager is not LVM.
  In that case the swap partition is not volume, it is a completely
  independent partition. So that we cannot add and additional volume
  for swap when swap is specified in the description file.
  This patch fixes #1301 and fulfills #1297

- Fixed installation chapter in the documentation
  The chapter still outlines multipython support but we
  dropped support for python2 some time ago

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=160
2019-12-20 09:59:21 +00:00
Marcus Schaefer
b593695a76 - Bump version: 9.19.6 → 9.19.7
- Fixed swap setup if btrfs is used
  In case of a volume manager the simplified variant of the
  device name is used in the fstab file to reference the
  swap device. However this is only correct for the lvm
  volume management but not for btrfs. In case of btrfs
  the swap space is not a subvolume but a real partition
  and thus the simplified device spec in fstab puts in the
  loop mapped device which is wrong. This patch fixes it

- Exclude 'Recommends: kiwi-man-pages' for EL7 and older in the spec

- Fixed xz options syntax in default kiwi.yml
  xz options are passed as a string and splitted in code
  but not handled as yml list

- Fixed scope of kiwi-man-pages sub package
  The kiwi-man-pages package provided data that belongs to
  the main package, e.g the completion as well as the
  license information. In addition kiwi-man-pages should
  not be a requirement.

- Fixed result map for OEM pxe install
  The result map for OEM images with installpxe enabled
  contained a wrong file name. Thus the result bundler
  was not able to fetch the tarball

- Open image files in UTF-8
  Post image build metadata like the packages file which are

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=159
2019-12-10 09:10:55 +00:00
Marcus Schaefer
ef04a5c99a - Bump version: 9.19.5 → 9.19.6
- Fixup package list for GCE integration test
  Package growpart-rootgrow does no longer exist. Will be
  replaced by a partgrow implementation

- Fixed root setup when building in OBS
  When building in an OBS worker no udevd is running which prevents
  grub2-mkconfig from finding the by-* device nodes and it puts the
  local loop device in which is wrong. Therefore the patching code
  used for overlay disk configurations also applies when building
  in an OBS worker environment. This Fixes #1287

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=158
2019-12-05 09:14:49 +00:00
Marcus Schaefer
4830e87f63 - Bump version: 9.19.4 → 9.19.5
- Fixed setup of default grub config
  In /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT also contained
  the root= information. If grub2-mkconfig runs with that information
  it places the root device information twice because grub2-mkconfig
  resolves this information itself. This commit prevents the root=
  information to be placed in the default grub config and
  Fixes bsc#1156908

- Lookup distribution specific grub font dir
  In addition to the generic grub font directory also lookup
  distribution specific font paths in the system and copy the
  grub unicode font into it. This Fixes #1253

- Do not rsync /dev on debootstrap
  This commit does not rsync /dev on debootstrap and instead it uses
  the bind mount for /dev the same way it is done for other non apt
  based bootstrap processes.

- Add new root option in Path.which method
  This commit adds to Path utility a couple of methods to manipulate
  paths. One to rebase given paths to a new root and another one to
  trim the given root path. In addition a new option in Path.which
  is added to allow searches into chroot evironments.
  Fixes #1276

- Do not rsync kernel filesystems on debootstrap
  This commit ensures that /proc and /sys are not rsynched when
  debootstrapping an apt based image.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=157
2019-12-02 13:36:20 +00:00
Marcus Schaefer
ca3c2eb548 - Bump version: 9.18.34 → 9.18.35
- Fixed subsequent reboot of oem disk
  On a second reboot of an oem disk we check with gdisk's
  verification command if the disk needs to be resized.
  That command however mounts the disk in the background
  and therefore it's urgently required to mask the systemd
  rootfs service before. Otherwise systemd thinks this is
  evil and drops into a rescue shell

- Reference commit for SUSE maintenance
  This commit adds a reference to Issue #1261 and the
  report in bugzilla bsc#1157104

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=156
2019-11-20 11:39:29 +00:00
Marcus Schaefer
abc1c9f254 - Bump version: 9.18.33 → 9.18.34
- Improve alias documentation in XML schema
  This commit aligns the documentation of the default repository alias
  with the current implementation.
  Fixes #1247

- Allow use of relative paths for `dir:<path>` URIs
  This commit allows the use of relative paths for local URIs using the
  the following format:
  dir:<path>
  This is helpful to set in config.xml local URIs for repositories.
  Fixes #1261

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=155
2019-11-19 08:05:17 +00:00
Marcus Schaefer
5052d6eefb - Bump version: 9.18.32 → 9.18.33
- Fixed zipl bootloader config template
  The targetgeometry value is not allowed for SCSI and FBA
  mode. So far we handled only SCSI and failed on FBA mode.
  This commit fixes it

- Adapt test-image-oem integration test for s390
  The test was originally designed to test for DASD 4k block
  storage. However the kpartx utility in the Leap15, TW code
  stream has issues mapping partitions if the loop device
  was setup using 4k sector size. So far we can't create
  images with 4k blocksize due to that issue. Thus the
  integration test is now adapted for an emulated DASD device
  in FBA mode which is not using 4k blocksize. Once the
  problem with kpartx is solved on s390 we will create another
  integration test to test 4k image builds

- Bump version: 9.18.31 → 9.18.32

- Update s390 integration tests
  Added vmx build test to run in kvm on s390. Updated the
  existing oem build test to deploy on DASD. The concept
  of the network setup invented by kiwi for s390 does no
  longer apply and was also not used on the s390 distribution

- Fixed zipl bootloader setup for s390 images
  The preparation to call zipl and the call itself were wrong.
  For whatever reason the kernel image the initrd are moved
  to another location prior to calling zipl. That move broke

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=154
2019-11-15 10:34:58 +00:00
Marcus Schaefer
2a2b78e8db - Bump version: 9.18.30 → 9.18.31
- Fix gitlab CI pipeline
  Ensure the gitlab CI includes make package for docs generation

- Ensure grub.cfg is copied in EFI/BOOT folder
  This commit fixes the live images in efi mode. Grub configuration file
  is copied to the correct location in <boot_dir>/EFI/BOOT.
  Fixes bsc#1155815

- Bump version: 9.18.29 → 9.18.30

- fix kernel module handling for xz compressed modules
  and firmware files to fix issue #1256

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=153
2019-11-07 15:05:03 +00:00
Marcus Schaefer
406eeaa878 - Bump version: 9.18.28 → 9.18.29
- Update Host/Image support matrix
  Update documentation about the Host vs. Image support and
  compatibility matrix with regards to the SLES target.

- Add default /etc/kiwi.yml file
  Provide a comment only etc/kiwi.yml file that contains all
  parameters we support so far including a short description
  This Fixes #1232

- Enable BLS configuration if is supported
  Fedora now uses a BLS configuration by default, but this is not supported
  by all distributions. So check if is supported by the grub2-mkconfig tool
  and only enable the option if that's the case.
  Fixes: #1248

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=152
2019-10-29 14:15:46 +00:00
Marcus Schaefer
ee7c237933 - Bump version: 9.18.27 → 9.18.28
- Delete left over print statement from unit test

- Bump Fedora x86 build test to Fedora30

- Bump version: 9.18.26 → 9.18.27

- Fix btrfs_root_is_snapshot
  This commit makes sure the chrooted operations of over a loop device
  including btrfs subvolumes and root as an snapshot include the
  `/.snapshots` subvolume mount. This is necessary for certain operations
  that depend on the layout, e.g. grub configuration using `grub2-mkconfig`.

- Skip isolinux ui setup on serial terminal config
  If the attribute bootloader_console="serial" is set, the
  expectation that there is no graphics hardware available is
  valid. Thus the isolinux setup should not contain any ui
  configuration instructions because that leads to run the
  graphics initialization which blocks the system if not
  present. Please note the bootloader_console allows for
  multiple console configuration. In mixed setup the ui
  configuration still applies. This Fixes #1153

- Added helper script to test status of test builds
  build_status fetches information from obs about the status
  of the integration test builds. It also allows an easy refresh
  of the tests regarding content changes on git when called
  with the refresh parameter: build_status refresh

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=151
2019-10-28 09:19:13 +00:00
Marcus Schaefer
0a29f52a43 - Bump version: 9.18.15 → 9.18.16
- Fix modules omission for dracut based initrds
  This commit fixes a regression introduced in 07ea23a4. In OEM images
  the dracut modules were not properly omitted as the code was evaluating
  the wrong variable.
  Fixes #1201

- Fix GPT to MBR convertion
  This commit swaps the order of the command in gpt to mbr convertion
  in partitioner.gpt.set_mbr method.
  sgdisk by default converts the partition table from MBR to GPT in memory.
  The change is never applied unless you provide the -g option forcing to
  overwrite the partition table format. If sgdisk does the convertion in
  memory and the user does not provide the -g flag it returns an error
  code.
  The solution applied in this commit is to just run the GPT to MBR
  convertion as the last sgdisk command and change partition type before
  running the convertion.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=150
2019-09-17 11:36:21 +00:00
97b2deb1f9 - Bump version: 9.18.14 → 9.18.15
- Fixed user permission
  The comand was evaluated as chmod -c -R '...' . This is not the
  correct syntax. Removing quotation marks solved problem
  and Fixes #1191

- Clean up openstack packages

- Fix unresolves for x86 integration tests
  nfsidmap package is no longer available in TW. It's been renamed to
  libnfsidmap1, moreover this is a package already required by nfs-client
  and similar packages. Thus gets installed in the modified image
  descriptions without having to list it, as it is already a dependency of
  another required package.

- Do not require multipath in dracut-kiwi-oem-dump
  Installation of multipath tools triggers storage devices
  to be handled as multipath maps in dracut. If the deployment
  happens in a non multipath system those devices do not exist
  and the system later hangs in the dracut initqueue waiting
  for mapper devices that never appears

- Reverting partsthat are already implemented
  This problem is discussed in #1195

- Switched back to original root-device search

- Detect raid compound in root disk detection
  Make sure raid managed storage e.g fake raid is detected

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=149
2019-09-16 12:12:43 +00:00
874daaa89a - Bump version: 9.18.12 → 9.18.13
- Add --add-bootstrap-packages option
  The prepare and build commands now allows to specify additional
  packages to be installed as part of the early bootstrap phase
  This Fixes #1151

- Detect raid disks in oem dump module
  The current disk detection only takes lsblk entries into
  account that marks the device as 'disk'. However on raid
  disks like fake raid controllers the disk is mapped via
  dmraid and marked as 'raidX' device. This commit also takes
  those devices into account for deployment. Issue #1181

- Fix return value of is_prepared method
  The method is expected to return a bool value. In fact it
  returned a list. An empty list is evalutated as False in
  python, a list with content as True. So the way the method
  is used is correct but the return value should be a real
  bool value to match the docs and expectations. Also the
  unit test for this code was wrong. This Fixes #1175

- Update documentation regarding fstab adaptions

- Add support for custom fstab script extension
  In addition to fstab append and patch features we also allow
  an fstab.script file that is called chrooted. The change is
  needed to support overlay mounting of filesystems as part
  of the initrd. If system filesystems needs to be changed in
  a way that they can be used in an overlay mount, the standard

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=148
2019-09-06 08:56:46 +00:00
Marcus Schaefer
cf18206513 - Bump version: 9.18.11 → 9.18.12
- Added MicroOS integration test
  The future technologies team is implementing a coreOS derivate
  based on btrfs and some overlay technology. For supporting them
  some changes were required in kiwi and thus we should add an
  integration test build which makes use of this features.

- Add required cryptomount coding for EFI boot
  For non EFI boot grub2-install has code which gets activated
  through the GRUB_ENABLE_CRYPTODISK setting. However for the
  EFI boot case no installation of boot code is needed and
  therefore the grub earlyboot script has to run cryptomount

- Add /mnt to list of protected paths
  On recursive removal make sure /mnt belong to the protected
  elements. This Fixes #1170

- Added full encrypted image build test

- Extended LUKS encryption support
  We supported luks encrypted images with the exception of the
  boot partition because grub was not able to read from an
  encrypted device at that time. Since some time grub is able
  to read from an encrypted partition and this commit add
  support for it. With this patch luks encrypted images will
  no longer create an extra boot partition and the entire
  system will be encrypted. The opening of the luks container
  happens on the grub level only once. Customers can still
  specify to use an unencrypted extra boot partition with the

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=147
2019-08-20 15:22:10 +00:00
2e450ea010 - Bump version: 9.18.9 → 9.18.10
- Align setup.py with the correct license

- Pass components to debootstrap call
  If repo components are specified the collective list of
  component names should be passed to the debootstrap call.
  This Fixes #1157

- Update image name for s390 oem integration test
  Align image name to the schema we use for all other
  integration tests

- Fixed zipl bootloader setup
  targetgeometry not allowed for targettype SCSI

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=146
2019-08-06 12:16:48 +00:00
Marcus Schaefer
87ba79331b - Bump version: 9.18.8 → 9.18.9
- Fixed left over import of six module
  The use of the six compat module was needed to support py2
  With the drop of py2 support all of six was no longer needed.
  However this one was overlooked.

- 99-kiwi-lib requires rmdir, install it
  Fixes bsc#1143033

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=145
2019-07-26 14:26:02 +00:00
Marcus Schaefer
a239b6cd3e - Bump version: 9.18.7 → 9.18.8
- Added multiconsole setup to Fedora build test

- Allow multiple values for grub terminal setup
  With regards to the grub documentation from
  https://www.gnu.org/software/grub/manual/grub/grub.html#terminal_005finput
  multiple terminal consoles can be active. This patch allows
  to specify terminal collection between serial, console and gfxterm
  This Fixes #1123

- Bump version: 9.18.6 → 9.18.7

- Fixed use of Command calls in destructors
  The Command class creates namedtuple to store the result
  of the call. That tuple is created inside of the Command
  namespace. If called inside of a __del__ destructor which
  is often the case in kiwi classes I recently observed an
  exception from python saying:
  File "/usr/lib64/python3.6/collections/__init__.py", line 429, in namedtuple
  File "<string>", line 1, in <module>
  ModuleNotFoundError: import of builtins halted; None in sys.modules
  I do not understand why this is a problem for python now
  and only found the solution in making the command_type variable
  a global namedtuple.

- Bump version: 9.18.5 → 9.18.6

- Fix the pyxattr dependency to allow kiwi to function
  Most Linux distributions offer the pyxattr module, including

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=144
2019-07-26 08:54:42 +00:00
Marcus Schaefer
45fe10bac1 - Bump version: 9.17.41 → 9.17.42
- Fixed get_persistent_device_from_unix_node
  The method get_persistent_device_from_unix_node takes a device
  path and looks up it's basename to be present as persistent
  variant below the given schema, e.g by-id. However if the
  method receives an already persistent device path e.g from
  /dev/mapper the persistent schema representation will only
  match a numbered dm-N device and not the map name. The method
  then returns nothing but should return the original device
  path. This caused bad after effects like reported in
  Issue SUSE-Enceladus/azure-li-services#163

- [doc] Add user documentation about the usage of the embedded Vagrantfile
  - Document the usage of the `vagrantconfig.embedded_vagrantfile` attribute
  - Remove the suggestion to generate the ssh keys during image creation (this
  results in **all** boxes having the same ssh host keys, which is pretty
  dangerous if someone would use a vagrant box in a production environment.)
  - Stop recommending veewee, this project is dead
  - Replace forgotten hard coded number with {schema_version}

- Fix test breakage when /etc/kiwi.yml is present
  The unit test for the RuntimeConfig class are also testing the default values in
  some functions. To work around a possibly existing ~/.config/kiwi/config.yml,
  several functions change the value of HOME. This is unfortunately not
  sufficient if a /etc/kiwi.yml exists, as that one is taken as a fallback *if*
  ~/.config/kiwi/config.yml isn't present.
  This issue is fixed by creating a default_runtime_config with os.path.exists
  patched to return False. Thereby none of the runtime configuration files will be
  taken into account.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=143
2019-07-08 10:24:17 +00:00
Marcus Schaefer
62db469641 - Bump version: 9.17.40 → 9.17.41
- Update Boot From Hard Disk method
  Instead of searching for an efi binary to boot, use the exit method
  that exits from grub and let the firmware choose the next entry
  in the device list

- Do not crash on missing HOME

- Added live ISO integration tests for arm

- Consolidate syslinux file names and search paths
  Handle those file names and search path in the Defaults space
  and only once in the code

- Remove '^' which break BaseStripFirmware function (boo#1132455)

- Do not supress output for dracut call
  This commit adds a stderr_to_stdout option to Command.run method to
  redirect stderr to stdout.
  Additionally this commit also includes to the debug log the dracut
  call output, including both, stderr and stdout.
  Fixes #1114

- Fixed path_test unit test
  The code there checked for the message of an exception
  but recent changes in pytest did not allow to do it that
  way anymore.

- Fixed zipl bootloader setup

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=142
2019-07-05 08:30:44 +00:00
Marcus Schaefer
e4eb1bbcfd - Bump version: 9.17.38 → 9.17.39
- Update obs docs per review by Tom

- Disable check-valid-until with repository_gpgcheck
  This commit is two fold:
  * From one side fixes a wrong use of the `trusted` option for
  apt repositories. `trusted=no` does not force to run the gpg checks
  it just forces the repository to be considered untrusted regardless
  the result of the security checks.
  * From the other side it disables the option `check-valid-until` in
  case gpg checks are disabled using the `repository_gpgcheck`. It
  works at repository level. This enables using unmaintained or
  expired repositories for the build.
  Fixes #1028

- Simplify shell pipe expression with shell builtin
  Replace "echo $var | sed ..." expression with ${var//SEARCH/REPLACE}
  shell builtin as suggested by Codacy

- Make mediacheck runtime check arch independent
  The check_mediacheck_only_for_x86_arch runtime check fails on
  non x86 architectures but the tagmedia toolchain exists independent
  of the platform architecture. This Fixes #1091

- Set home as protected path
  Along with adding home to the protection list, cleanup
  the prepare instance cleanup code in a way that it only
  runs if a root_bind object exists which needs to call
  its cleanup path

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=141
2019-05-24 08:55:07 +00:00
Marcus Schaefer
6f4609c799 - Bump version: 9.17.37 → 9.17.38
- Delete obsolete repository types
  Deleted red-carpet, slack-site, up2date-mirrors, urpmi and yast2
  from the allowed values list of the repository type attribute.
  This Fixes #1029

- Fixed build_in_buildservice stale references
  Fixed style issues reported on sphinx build. Also deleted
  pointers to non existing references

- Delete suseRemovePackagesMarkedForDeletion
  Any package removal is controlled by kiwi itself. There is no
  need to provide a shell helper method that is rpm specific.
  This Fixes #1054

- Update doc/source/building/build_in_buildservice.rst
  Co-Authored-By: dcermak <45594031+dcermak@users.noreply.github.com>

- Rework documentation about building on OBS

- Added integration test guest image for OpenStack

- Update suse integration tests per Factory changes
  The way plymouth themes are provided has changed on suse.
  The package plymouth-branding-openSUSE is no longer providing
  the theme named openSUSE. In fact the plan is to switch to
  the upstream bgrt theme which is provided in another package.
  This commit adapts to the changes in the distribution

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=140
2019-05-13 14:37:08 +00:00
Marcus Schaefer
cfe60ca4ac - Bump version: 9.17.36 → 9.17.37
- Fix rpm metadata creation
  There are rpm versions that require access to /dev and fail
  with the error message 'Failed to initialize NSS library'
  For details see: https://bugs.centos.org/view.php?id=14767
  Due to the rpm location checkup fix from Issue #1037 this
  change impacts builds for distributions that uses an rpm
  version with the above behavior (e.g CentOS) and fails as
  consequence of the rpm call error. This commit fixes this
  in a way that we make sure the host /dev is available at
  the time of the call.

- Bump version: 9.17.35 → 9.17.36

- Fix xml syntax on documentation example

- Add custom curl options docs

- Refactor handling of runtime tests check dict
  Consolidate check list into CliTask base class such that we
  can avoid duplication of runtime check dicts. Only runtime
  tests that require stateful information according to the
  commandline call are handled directly in the task code

- Delete check_grub_efi_installed_for_efi_firmware
  The motivation is nice to check if the required grub module
  package is part of the package list if the efi firmware is
  requested, but as long as there is no distribution wide
  standard for packaging grub this check will cause more trouble

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=139
2019-04-11 12:07:18 +00:00
5114d0e17c osc copypac from project:Virtualization:Appliances:Staging package:python-kiwi revision:133
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=138
2019-04-04 12:55:22 +00:00
Marcus Schaefer
7a81004d47 - Bump version: 9.17.33 → 9.17.34
- kiwi-repart: avoid race between repart and fsck
  See issue #1034, this fixes non-booting CentOS-7 OEM images that fail
  during repartition / FS resize.
  Summary: all parted actions trigger a rescan of partition tables and
  this repeatedly starts / stops systemd-fsck-root.service until it
  finally fails. The workaround is to mask systemd-fsck-root.service
  during repartitioning / FS resize.

- Update travis doc building target
  Disable doc test on travis, we have this in the gitlab-ci
  pipeline.

- Move sphinx config to python3
  Disable modules that have not been ported to sphinx 2.0 API

- Disable linkcheck/spellcheck
  The spellcheck plugin has not been moved to the sphinx 2.0 API
  and there are tons of spelling mistakes reported due to the use
  of technical terms that are unknown to spellcheck. Also disabled
  the linkcheck because it just stands more in our way than it
  reports issues that needs to be fixed.

- Bump version: 9.17.32 → 9.17.33

- Added integration test for bootstrap only builds

- Fixed bootstrap only building
  Image descriptions that define packages in the bootstrap section

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=137
2019-03-31 07:14:07 +00:00
Marcus Schaefer
412054bd79 - Bump version: 9.17.30 → 9.17.31
- Update the documentation regarding vagrant boxes
  Extend the documentation on how to build VirtualBox vagrant boxes
  All this was done by Dan Čermák <dcermak@suse.com>

- Refactor incremental changelog update
  The creation of the package changelog is based on a reference file.
  However that reference file contained log information in a specific
  timezone which requires to hardcode the region of that timezone
  in the code to correctly run date/time calculations. This can
  be done better from a conceptual point of view. This patch changes
  the handling in a way that the reference file is a git log
  excerpt including the dates as git log lists them. The dates
  contains complete numeric time/date/zone information and can be
  used for calculations. The changelog helper tool converts the
  result data to match the requirements of rpm changelog files
  and prints the time/date information localized to the callers
  timezone or as UTC if the --utc switch is given. By default the
  user local timezone settings applies. That way the setup of
  the local timezone is immaterial to the changelog processor
  and the workaround in the gitlab-ci rpm stage can be deleted
  too.

- Fix derived docker images build
  This commit fixes the derived docker images when the base image is a
  compressed file. After the refactor in #998 the decompression of the
  base image and the skopeo call to import the decompressed image happened
  in absolutely independent scopes. NamedTemporaryFile python class by
  default deletes the created temporary file when the class instance is

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=136
2019-03-17 19:23:53 +00:00
Marcus Schaefer
4d8f3508bc - Bump version: 9.17.22 → 9.17.23
- Allow xdist to run the tests in parallel for the Python 2.7 env
  
  This reverts an accidental change that was introduced with
  942ed7a8eea65f1c99b5f51a8587cfbeae73b484, which removed the {posargs} from
  tox.ini for the python 2.7 environment.
  

  
- Added get_description method to XMLState
  
  In preparation to access the contents of the <description>
  section this pull requests adds a simple method to read
  the contents.
  

  
- Update tools from strip list for oemboot
  
  For legacy oemboot kiwi descriptions the strip list for
  tools to keep in the initrd is still active. On s390
  required tools for dasd_configure were missing and got
  added by this commit. This Fixes #963
  

  
- Fixed import of signing keys

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=135
2019-02-27 16:14:47 +00:00
Marcus Schaefer
82c2e12c53 - Bump version: 9.17.21 → 9.17.22
- Followup fix for disk detection from root device
  
  No matter if one ore more devices are used in a multipath map,
  if the root device is managed by multipath kiwi has to use the
  mapped device for all operations, otherwise we run into busy
  or blocked state inside of the initrd operations. This is
  related to Issue #954 and bsc#1126283 and bsc#1126318
  

  
- Fixed relocation of GPT
  
  Simplify the relocation of the GPT to the end of the current
  disk by using sgdisk -e instead of gdisk. The possitive after
  effect of this is that the broken return value handling of
  gdisk in centos will be fixed and did not harm the kiwi
  deployment anymore. This Fixes #958
  

  
- Bump version: 9.17.20 → 9.17.21
  

  
- Speedup the make build target

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=134
2019-02-24 16:42:27 +00:00
Marcus Schaefer
06c462ede7 - Bump version: 9.17.16 → 9.17.17
- Added new preferences subsection
  
  In the preferences section the following optional subsection
  can be configured:
  
  <rpm-locale-filtering>true|false</rpm-locale-filtering>
  
  If set to true the default locales POSIX, C, and C.UTF-8 are
  applied as rpm install_lang macro. If the locale section is
  configured in addition the list is extended by that information
  too
  

  
- Extend the .packages file by the license field
  
  For rpm based builds the License field from the rpm metadata
  is extracted into the .packages file. For Debian based build
  the license information is in an extra file and not taken
  into account for the moment.
  
  
  

  
- Added support for %_install_langs rpm macro

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=133
2019-02-09 16:17:40 +00:00
Marcus Schaefer
925e600b66 - Bump version: 9.17.15 → 9.17.16
- Add API for package manager returncode validation
  
  Allow to validate the return code from a package manager
  operation. In case of zypper the standard UNIX return
  code validation does not apply. Return codes from zypper
  which are >= 100 are not treated as an error anymore
  

  
- Fix Failed to cache rpm database on zypper addrepo
  
  Occasionally zypper fails when adding the repo with the
  rpm error message 'Failed to cache rpm database'. I was
  not able to find out why this happens and I also could
  not find a way to reproduce it safely. However this
  commit adds a workaround that seems to fix the issue
  when it happens. If the first call of zypper addrepo
  fails kiwi now issues the exact same call again and
  only if that fails too an exception is thrown
  
  In addition the patch changes the zypper call and avoids
  the option --type. That option is marked legacy and ignored
  by zypper but causes a misleading warning message

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=132
2019-02-08 14:00:31 +00:00
Marcus Schaefer
4d88a94bf2 - Bump version: 9.17.14 → 9.17.15
- Fixup code issues reported by new flake8 version
  
  Travis has updated the flake8 version which caused more
  strict issue reports on the code. This commit fixes the
  new issues reported by flake8
  

  
- Bump version: 9.17.13 → 9.17.14
  

  
- Changed default value for bundler compression
  
  If no compression is configured in the kiwi config file
  the default was set to: False. However this lead to big
  trouble on the obs side for images which has fixed
  storage disk sizes configured, e.g Azure images which
  requests 30G disk size per instance. Thus the default
  for the bundler compression has changed to be: True

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=131
2019-01-31 10:20:30 +00:00
Marcus Schaefer
27e4282671 - Bump version: 9.17.12 → 9.17.13
- Fixed grub theme lookup
  
  If the theme was not found at the expected place an exception
  was thrown. However the alternative lookup code in /boot was
  not reached with that exception. This commit fixes this
  

  
- Bump version: 9.17.11 → 9.17.12
  

  
- Add a runtime check for preferences metadata
  
  This commit adds a runtime check for preferences metadata. More
  specfic verifies there is a packagemanager defined and an image version
  defined.
  
  Fixes #925
  

  
- Support alternative EFI and grub modules paths
  
  In SUSE products EFI binaries are historically located in
  /usr/lib*/efi. In a recent move to package grub2 as noarch

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=130
2019-01-29 16:37:05 +00:00
Marcus Schaefer
b0020f9157 - Bump version: 9.17.7 → 9.17.8
- Make result compression in the bundler optional
  
  Calling kiwi result bundle will take the image build results
  and bundle the relevant image files according to their image
  type. Depending on the result configuration this could instruct
  the bundler to compress one or more files from the result.
  By default this compression is switched off in the bundler but
  can be activated to save storage space and speedup download
  of the image with the following runtime configuration:
  
  bundle:
- compress: true|false
  
  If compression is activated the result image has to be
  uncompressed before it can be used. This Fixes #901

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=129
2019-01-11 10:19:57 +00:00
01665930fb - Bump version: 9.17.6 → 9.17.7
- Fix use of SysConfig objects
  
  objects of that class did not provide a get method but
  overload the bracket [] operator. Using the get() method
  failed. This Fixes #910
  

  
- Use chkstat to verify and fix file permissions
  
  Call chkstat in system mode which reads /etc/sysconfig/security
  to determine the configured security level and applies the
  appropriate permission definitions from the /etc/permissions*
  files. It's possible to provide those files as overlay files
  in the image description to apply a certain permission setup
  when needed. Otherwise the default setup as provided on the
  package level applies. It's required that the image root system
  has chkstat installed. If not present KIWI skips this step
  and continuous with a warning. This Fixes #895
  

  
- Allow setting the protocol for exposed ports
  
  With this commit it is possible to set tcp or upd (e.g. "80/tcp") for
  exposed container ports. If no protocol is provided OCI defaults are

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=128
2019-01-07 13:51:20 +00:00
Marcus Schaefer
e7374cfaee - Bump version: 9.17.5 → 9.17.6
- Allow setctsid to be part of custom boot images
  

  
- Fix disk size calculation for VMX
  
  Disk size calculation must take into account the empty volumes that
  are to be mounted in a directory that does not exist in the root tree
  otherwise there is KeyError. The result of
  storate/setup._calculate_volume_mbytes must be a dict including all
  defined volumes.
  
  Fixes #904
  

  
- Bump version: 9.17.4 → 9.17.5
  

  
- Make sure manual pages are part of pypi archive
  
  As consequence of the change in the travis setup to make
  use of the native 'pages' and 'pypi' providers from travis the
  environment for the sdist target has changed. Within the
  doc_travis tox env no manual pages was build. In combination

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=127
2018-12-19 08:48:21 +00:00
Marcus Schaefer
850f8fcb82 - Bump version: 9.17.0 → 9.17.1
- Little code styling fix
  

  
- Fixed oem installer
  
  In the implementation of the ramdisk installer from
  SUSE/ramdisk_deployment(4fdeee3faa3) an error for the
  standard case was introduced such that the lsblk call
  was invalid. This lead to no devices being present
  for the installation. This patch Fixes #877
  

  
- Fix rsync call for filesystem images
  
  For filesystem images the rsync call was missing a finale slash for
  the source path causing the sync also the containing directory. With
  this change the filesystem image does not include the rootfs in any
  subdirectory.
  
  Fixes #875
  

  
- Add history metadata for container builds

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=126
2018-11-09 10:37:40 +00:00
Marcus Schaefer
f3c19a4bb9 - Bump version: 9.16.36 → 9.17.0
- Change bundling of image formats
  
  By default none of the image formats were stored as compressed
  file. The reason behind this was the assumption that some
  formats automatically makes use of compression, which is true
  but only in their processing and not in their data blocks at
  creation time. Storage and handling of the image file itself
  becomes cumbersome and therefore we change the default bundle
  setup for image formats to be compressed. This means the image
  as it gets packed by KIWI needs to be uncompressed before use.
  The following image formats are affected by the change in a
  call of the result bundler:
  
  kiwi result bundle ...
  
  * qcow2 (.qcow2.xz)
  * vdi   (.vdi.xz)
  * vhd   (.vhd.xz)
  * vhdx  (.vhdx.xz)
  * vmdk  (.vmdk.xz)
    
    All other image formats already defined a custom bundling
    setup including compression and are not affected by this change.
    This Fixes #650

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=125
2018-11-07 09:08:55 +00:00
Marcus Schaefer
69aadd540d - Bump version: 9.16.35 → 9.16.36
- Bypass Jekyll processing for github pages
  
  sphinx uses directories that start with underscores which
  Jekyll considers these to be special resources and does not copy
  them to the final site.
  

  
- Bump version: 9.16.34 → 9.16.35
  

  
- Revert last travis.yml change
  
  This reverts commit 7fb7e8c39fa861b6226d54e04483be8e96a5f8be.
  

  
- Bump version: 9.16.33 → 9.16.34
  

  
- Next try to fixup pypi deployment
  
  Reset to encrypted password hash which worked before

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=124
2018-11-06 11:29:24 +00:00
Marcus Schaefer
cf8ef19c4e - Bump version: 9.16.26 → 9.16.27
- Use %{ix86} rather than %ix86 in spec template
  
  Clear macro annotation prevents clarity issues
  

  
- Fixed spec file for gfxboot requires
  
  Require gfxboot but only for the x86 architecture
  

  
- Bump version: 9.16.25 → 9.16.26
  

  
- Move the default rpm database path into Defaults class
  

  
- Handle default uri mime type in Defaults class
  

  
- Add a hardcoded rpm database path to import trusted keys

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=123
2018-10-19 13:13:00 +00:00
Marcus Schaefer
4cff00908d - Bump version: 9.16.19 → 9.16.20
- rebuild auto generated code with stable generateDS
  
  For some reason the xml_parse code generated by generateDS v2.29.24
  caused warnings on simple type XSD patterns. Therefore I rebuild
  the code with the stable build version v2.29.14 which fixed that
  issue
  

  
- Fixup README travis and codacy status badges
  

  
- Adding bugfix trace for bsc#1110869
  
  bsc#1108508 ticket was fixed with request #831
  from SUSE/fix_uri_handler
  

  
- Include livenet module with dmsquash-live support
  
  The upstream dracut dmsquash-live module supports network
  mode with the livenet module. But that module must be
  explicitly included and is not fetched automatically.
  This Fixes #827

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=122
2018-10-09 10:43:57 +00:00
Marcus Schaefer
226e2334bf - Bump version: 9.16.18 → 9.16.19
- Rename private method to be more expressive
  

  
- Fixed URI handling with token query option
  
  So far only the query format ?credentials=... was supported.
  In case of ?random_token_data the returned uri was truncated
  and also the format check on the query caused a python trace.
  This Fixes #830 and Fixes #828
  

  
- Eliminate redundant code
  
  Create a helper method, _create_volume_no_zero, which calls the
  lvreate command with appropriate options and calls the vgscan
  command immeditately afterwards to create any missing /dev nodes.
  

  
- Fixed broken link to ec2uploadimg tool
  

  
- Update contact information

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=121
2018-10-07 14:30:02 +00:00
Marcus Schaefer
ff8f2d2a8e - Bump version: 9.16.17 → 9.16.18
- Create parent qgroup when snapper is present
  
  This commit creates a new parent quota group (1/0) of level 1 when
  btrfs_quota_groups is enabled and snapper present into the image
  root tree.
  
  Related to bsc#1093518 and #812
  

  
- Bump version: 9.16.16 → 9.16.17
  

  
- Fixup make build target
  
  Don't include auto generated schema docs into the source
  tarball. Also cleanup MANIFEST.in from files no longer
  present in the repository
  

  
- Bump version: 9.16.15 → 9.16.16

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=120
2018-09-27 06:55:39 +00:00
Marcus Schaefer
599f15f6da - Bump version: 9.16.11 → 9.16.12
- Follow up fix for skip_cleanup use
  
  make sure doc_travis tox target has created the manual
  pages such that the environment contains this data
  

  
- Bump version: 9.16.10 → 9.16.11
  

  
- Use skip_cleanup for deploy stage in travis
  
  We need the tox build environment to run the deployment
  

  
- Bump version: 9.16.9 → 9.16.10
  

  
- Follow up fix for deploy target
  
  Integration of man pages must be done as part of the sdist
  setup because the travis pypi deployment only uses the
  sdist target to bundle the sources

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=119
2018-08-21 09:03:02 +00:00
Marcus Schaefer
9c090092c7 - Bump version: 9.16.8 → 9.16.9
- Fixed deploy target
  
  As part of the deploy process in travis a bundle to pypi is
  uploaded. The bundle is missing the compiled manual pages because
  the doc_travis stage did not create them.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=118
2018-08-20 15:12:28 +00:00
Marcus Schaefer
8aee5d12c5 - Bump version: 9.16.7 → 9.16.8
- Update pxe server setup documentation
  
  Delete the suggested modifications to /etc/sysconfig/atftpd
  and trust the defaults provided by the package
  

  
- Added support for system wide config file
  
  If there is no user specific config file we are also
  looking for a system wide /etc/kiwi.yml file
  

  
- use more meaningful variable names
  

  
- Fix baseStripUnusedLibs config method
  
  This commit arguments handling of the baseStripUnusedLibs
  that was not prepared to handle quoted variable containing a list.
  
  Fixes #798

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=117
2018-08-08 20:05:16 +00:00
Marcus Schaefer
619ec0d77f - Bump version: 9.16.6 → 9.16.7
- update vagrant doc chapter per review by Tom
  

  
- Added vagrant setup chapter in the docs
  
  Document steps to create a vagrant box for the libvirt
  provider. Also provide information on provider support
  This Fixes #792
  

  
- Use xattr 0.9.3
  
  Latest xattr is broken on pip
  

  
- Fixed make obs_test_status
  
  The helper script .obs_test_status looks up the build
  results from the integration tests. With the introduction
  of multibuild integration tests the script has to apply
  some modifications to get the correct results
  This is related to Issue #791

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=116
2018-08-06 09:23:37 +00:00
566ef91b8a osc copypac from project:Virtualization:Appliances:Staging package:python-kiwi revision:76
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=115
2018-08-01 14:22:36 +00:00
Marcus Schaefer
8233365923 - Bump version: 9.16.1 → 9.16.2
- Simplify configfile loading
  
  prefix and root variables are correctly set, thus calling
  the "normal" command has the same effect than the explicit
  call for "configfile"
  

  
- Prevent building custom efi image
  
  If the distribution provides a prebuilt efi image kiwi
  should use it instead of building its own image.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=113
2018-06-20 13:44:26 +00:00
Marcus Schaefer
2c875df196 - Bump version: 9.16.0 → 9.16.1
- Avoid module loading in grub config template
  
  This patch is two fold. First part replaces the import of
  dedicated video modules in the grub image by the all_video
  module. Second part avoids runtime module insertion which
  requires access to the boot filesystem which is not
  guaranteed on sophisticated rootfs structures like btrfs
  plus readonly snapshots and what not. Thus we make sure
  all boot code is embedded into the grub image(s) and no
  extra loading of modules at runtime will be needed.
  This Fixes bsc#1096937
  

  
- Fix for bsc#1094788
  
  This is just an empty commit to include the bugfix reference in
  the repository history.
  
  The bugfix for bsc#1094788 was actually commited in:
  
  commit 835cebfe5c488515dfbcdf33dab6262613ca5508
  Author: Marcus Schäfer <ms@suse.de>
  Date:   Tue May 29 16:42:55 2018 +0200

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=112
2018-06-13 12:48:50 +00:00
Marcus Schaefer
a49e67a2f8 - Bump version: 9.15.4 → 9.16.0
- Move fedora integration test build to fc28 distro
  

  
- Bump version: 9.15.3 → 9.15.4
  

  
- Fixup move_to_root method
  
  move_to_root is called to check each element of a given list
  and changes any path specification to a valid path if the given
  root path would be it's root(/). This tranformation implied the
  creation of paths containing double slashes like //foo which
  was considered harmless. However it has turned out that the dnf
  package manager makes a difference here which requires to fix
  the resulting paths. This Fixes #761
  

  
- Adding license tag under description tag in schema
  
  This license tag does not effect the resulting image in any way. The tag
  is just included to state the license of the kiwi image sources in case
  they are distributed.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=111
2018-06-06 11:53:02 +00:00
Marcus Schaefer
73a1834668 - Bump version: 9.15.2 → 9.15.3
- Fix setup of LOADER_TYPE in sysconfig/bootloader
  
  LOADER_TYPE value for the grub2 bootloader depends on
  the use of EFI. This Fixes bsc#1094883
  

  
- Added documentation for config-cdroot archive
  

  
- Added support for config-cdroot archive
  
  The image description now allows an optional file named:
  config-cdroot.tar[.compression_postfix]. The file gets
  unpacked as user data for live and install ISO images.
  This allows users to add e.g license files or reference
  documentation to the ISO image. This Fixes #737
  

  
- Verify file does not exist before creating symlink
  

  
- Add service dependencies in generators

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=110
2018-05-29 07:30:16 +00:00
Marcus Schaefer
0b180d6644 - Bump version: 9.15.1 → 9.15.2
- Fix zypper add lock operations
  
  This commit fixes the arguments passed to zypper in add lock
  operations.
  

  
- Add correct GPL-3.0-or-later license
  
  Add the correct license reference in the spec License field
  
  Fixes #732
  

  
- Make container compression a configuration option
  
  Change the ContainerBuilder class to evaluate on the
  configuration options to decide if the container archive
  should be compressed or not. By default the archive will
  be compressed, thus there is no change to the former behavior
  but can be setup in ~/.config/kiwi/config.yml as follows:
  
  container:
- compress: none|xz

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=108
2018-05-16 10:14:30 +00:00
Marcus Schaefer
e85a9f9810 - Bump version: 9.15.0 → 9.15.1
- Add a chapter for uninstall package requests in docs (#726)
  
  Add a chapter for uninstall package requests in docs
  

  
- Update arm integration test
  
  Existing panda build was outdated and non functional.
  Move the test to a more popular target and write the
  image description to use technology matching the
  suse arm development effort. Target is now Rpi(64bit)
  

  
- Use latest version of sphinx
  
  Formerly sphinx==1.6.7 was used because travis-sphinx failed
  with latest sphinx. Now travis-sphinx fails with 1.6.7 and
  I hope using latest sphinx will fix that
  

  
- Bump version: 9.14.7 → 9.15.0

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=106
2018-05-09 12:59:52 +00:00
Marcus Schaefer
0568e9cdcf - Bump version: 9.14.6 → 9.14.7
- Fixed check for volume group in use
  
  The former implementation evaluates the output of the vgs
  command and set the volume group as in use if one of the
  listed volume groups on the host contains the group name
  set by the image description. This would also match if the
  group name set in the image description is e.g 'System' and
  the a volume group on the host with name 'SystemVG' exists.
  However a conflict only exists on exact match of the name.
  The proposed fix is to use the --select feature from vgs
  and let it show information on exact match of the vg_name
  field. The code in kiwi then just evaluates if the selection
  by vgs has a value or not. This Fixes #721
  

  
- Fix setup of kiwi_lvm profile variable
  
  kiwi_lvm was always set to true if a volume management system
  is in use. However it should only be set to true if the
  selected volume management system is lvm. The same applies
  to the kiwi_lvmgroup variable which also only makes sense
  if the lvm volume management system is used.
  This Fixes bsc#1090427

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=104
2018-05-04 14:43:35 +00:00
Marcus Schaefer
4ae3424a5a - Bump version: 9.14.5 → 9.14.6
- Extend test-image-azure integration test
  
  Use xfs as filesystem and set a tag to also test image tags
  

  
- Use /dev/zero to really write a zero byte
  
  The cleanup of the 512 byte block for the vhdfixed tag
  was based on reading from /dev/null which does effectively
  nothing. As the block should be filled with zero bytes
  this patch changes the source from /dev/null to /dev/zero
  This was found by tests to reproduce the issue reported
  in bsc#1090953 but is not causing it
  

  
- Add test for the utils class StringToSize
  
  This commit adds a couple of unit tests for the StringToSize class.
  

  
- Bump version: 9.14.4 → 9.14.5

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=103
2018-05-02 07:27:16 +00:00
Marcus Schaefer
2171d91eab - Bump version: 9.14.1 → 9.14.2
- Fix default initrd_system values
  
  This commit fixes the default initrd_system value for some image
  types. Since this value is included in profile and potentially
  taken into account for some of the config script functions, it is
  important to have consistent values even when the image type
  has no initrd choice or it doesn't have initrd at all.
  
  Related to #689
  

  
- Check partition table after cow part creation
  
  Proceed with the persistent write partition setup only
  if the cow partition could have been created successfully
  

  
- Fixed detection of disk node in live iso images
  
  If the live iso is booted as disk the initrd code needs to
  find the correct disk node pointing to the iso image. This
  was formerly done by checking if the populated disk devices
  contains an iso header with an application id. The information
  was obtained using the isoinfo tool. isoinfo is a tool

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=101
2018-04-09 14:57:31 +00:00
Marcus Schaefer
c545d438d4 - Bump version: 9.14.0 → 9.14.1
- Fixed truncation of image when writing vhd tag
  
  When writing the vhd tag into a vhdfixed formatted image
  the image was opened with the wrong open bits 'wb' and
  thus was truncated at the 64k offset. This patch fixes
  the open bits to allow in-place tag writing. This
  Fixes bsc#1077096
  

  
- fix vmx fileName parameter, bsc#1084157
  

  
- Update schema version in free schema doc generator
  

  
- Update schema version in headline of doc chapter
  

  
- Bump version: 9.13.9 → 9.14.0

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=100
2018-04-03 10:24:54 +00:00
OBS User buildservice-autocommit
5b6581b46d Updating link to change in openSUSE:Factory/python-kiwi revision 24.0
OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=6b8cb88da6d48c68fdd5f9984ffaf39c
2018-03-30 19:48:41 +00:00
Marcus Schaefer
be5a957ab1 - Bump version: 9.13.9 → 9.14.0
- Rebuild online schema documentation
  

  
- XSL Auto update descriptions due to schema change
  

  
- Delete obsolete hybrid attribute from type
  
  Any iso image we create will be a hybrid image. That was
  already the default for any install iso image and was a
  configuration option for live images. The optional selection
  only existed for systems which do not provide tools to
  make an iso hybrid. All distributions kiwi supports provides
  this capabilities and there is no good reason why a live
  or install iso should not be hybrid and bootable as iso
  and as disk. Also the boot in disk mode became the preferred
  boot method for the majority of our users which requires
  to provide a hybrid iso
  

  
- Add efiparttable type attribute
  
  This commit allows to choose the partition table type for efi firmwares

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=98
2018-03-23 13:00:43 +00:00
Marcus Schaefer
ebfd0cd88f - Bump version: 9.13.8 → 9.13.9
- Bump version: 9.13.7 → 9.13.8
  

  
- Fixed base package requires
  
  kpartx is used by kiwi but was not required in spec
  

  
- Update gitignore
  
  Do not manage changes in .pytest_cache
  

  
- Tell plymouth to quit only if a dialog is called
  
  In case of a dialog kiwi uses the dialog program which conflicts
  with the plymouth splash system. Thus we tell plymouth to stop
  This patch changes the request to be send to plymouth prior to
  a dialog call and not in general
  

  
- Bump version: 9.13.6 → 9.13.7

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=97
2018-03-13 09:58:12 +00:00
Marcus Schaefer
ea1744b1d6 - Bump version: 9.13.4 → 9.13.5
- Fixed btrfs search path in earlyboot script
  
  If kiwi generates its own efi image for the boot process
  it does not setup the btrfs relative path setup in the
  earlyboot script embedded into the generated efi image.
  This has a bad impact on the file search because the
  btrfs setup done in kiwi puts root below the @ volume
  which we then need to specify of the relative lookup
  is not activated. Fixes bsc#1082155

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=94
2018-03-06 16:08:59 +00:00
Marcus Schaefer
83cf107db1 - Bump version: 9.13.3 → 9.13.4
- Use LABEL for the swap partition
  
  If multipath and device maps are active the fstab entry should use
  the LABEL reference. Systemd calls swapon and it only works properly
  with multipath devices when LABEL reference is used or calling directly
  on the /dev/dm-* device file.
  

  
- Bump version: 9.13.2 → 9.13.3
  

  
- The order of the options for mkisofs matters
  
  Setting -eltorito-platform after -b causes mkisofs to fail
  

  
- Resize partition table after image resize
  
  The command 'kiwi image resize' allows to resize the size
  of a disk image. Depending on the partition table type it
  is also required to resize the partition table inside of
  the image to let the file size change become effective
  This Fixes #534

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=93
2018-03-06 14:59:22 +00:00
Marcus Schaefer
7be0c8744d - Bump version: 9.13.0 → 9.13.1
- Only delete sub path if not empty
  

  
- Fixed package lists for azure and ec2 build tests
  

  
- Reference commit for bugzilla
  
  With regards to the changes done in Issue #637 this commit
  just creates a reference to a related bug bsc#1082163
  

  
- Cleanup config functions shell coding
  

  
- Delete obsolete/unused methods
  

  
- Add functions.sh to shellcheck

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=91
2018-02-27 07:34:49 +00:00
Marcus Schaefer
43ffa8a57e - Bump version: 9.12.9 → 9.13.0
- Fixup grub2 theme setup
  
  The presence of a background file was mandatory for kiwi to
  use the theme. But the background information is optional
  

  
- Deleted obsolete boot descriptions
  
  The custom kiwi boot descriptions has been moved into
  the kiwi-descriptions github repo and builds the compat
  package kiwi-boot-descriptions from there. The build
  of the boot image(initrd) is done by dracut and the
  dracut module packages provided by kiwi. The classic
  custom boot descriptions can still be used as alternative
  method if the above package is installed. Related to
  Issue #576
  

  
- Create compatible boot options
  
  The boot option root=install:CDLABEL= is mandatory for install
  images which uses the dracut initrd system. But for the custom
  kiwi oemboot descriptions this is causing a problem when detecting
  the install device. Thus the above boot option is only applied

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=88
2018-02-16 15:26:31 +00:00
Marcus Schaefer
0ce16ca40e - Bump version: 9.12.8 → 9.12.9
- Update .virtualenv.dev-requirements.txt
  
  sphinx 1.7.0 is not compatible with travis-sphinx
  thus we stick with 1.6.7 until travis-sphinx followed
  the sphinx changes
  

  
- Add restrictions to Path.remove_hierarchy
  
  When an iso file is used as repo, this iso will be loop mounted on
  the host and bind mounted into the image root as long as the image
  builds. When the mount is released a recursive cleanup of the complete
  path happens. This is done by calling Path.remove_hierarchy. However
  if a sub path of the mount path contains a system root directory
  which is mandatory for the Linux root system it is not allowed
  to be deleted even if it is empty at the time of the mount cleanup.
  Thus this patch adds a lookup for protected directory names and
  only runs the recursive deletion as long as no protected member
  is part of the path. This fixes bsc#1080301
  

  
- Initial support for building Debian/Ubuntu packages in spec
  
  This adds support for producing the main kiwi package as well as the

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=87
2018-02-13 08:43:28 +00:00