383 Commits

Author SHA256 Message Date
Dominique Leuenberger
d1f30587f0 Accepting request 1168512 from Virtualization:Appliances:Builder
- Bump version: 10.0.11 → 10.0.12

- Drop concept of volumes_mounted_initially
  The volume mount should be the same process no matter
  if it happens for the first time or subsequently

- Fixed mountpoint to use for read-only property
  Make sure get_mountpoint() is used to retrieve the correct
  mountpoint for the root entry point. Using the self.mountpoint
  member is not always correct

- Prevent extra volume mount/umount on btrfs
  For setting up the read-only property an extra mount of the
  btrfs sub-volumes was issued. However, all volumes are mounted
  at that time. Thus it's not required to mount them again, resulting
  in a busy state because of the auto-snapshot mounts which does
  not get umounted and keeps a busy state until the lazy umount
  kicks in. This Fixes #2529

- Fix typo in documentation main page
  Superfluous format sequence

- Added another search path for signed EFI binaries
  Add /usr/lib/grub/*-efi-signed to search for shim signed EFI
  binaries too. This Fixes #2525

- Bump version: 10.0.10 → 10.0.11

- Add schema upgrade opportunity for old schemas
  kiwi files using a schema version < 7.4 are no longer supported

OBS-URL: https://build.opensuse.org/request/show/1168512
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=113
2024-04-17 12:45:23 +00:00
93801a42f9 - Bump version: 10.0.11 → 10.0.12
- Drop concept of volumes_mounted_initially
  The volume mount should be the same process no matter
  if it happens for the first time or subsequently

- Fixed mountpoint to use for read-only property
  Make sure get_mountpoint() is used to retrieve the correct
  mountpoint for the root entry point. Using the self.mountpoint
  member is not always correct

- Prevent extra volume mount/umount on btrfs
  For setting up the read-only property an extra mount of the
  btrfs sub-volumes was issued. However, all volumes are mounted
  at that time. Thus it's not required to mount them again, resulting
  in a busy state because of the auto-snapshot mounts which does
  not get umounted and keeps a busy state until the lazy umount
  kicks in. This Fixes #2529

- Fix typo in documentation main page
  Superfluous format sequence

- Added another search path for signed EFI binaries
  Add /usr/lib/grub/*-efi-signed to search for shim signed EFI
  binaries too. This Fixes #2525

- Bump version: 10.0.10 → 10.0.11

- Add schema upgrade opportunity for old schemas
  kiwi files using a schema version < 7.4 are no longer supported

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=246
2024-04-17 10:31:27 +00:00
Ana Guerrero
8e45216ec9 Accepting request 1164990 from Virtualization:Appliances:Builder
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1164990
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=112
2024-04-14 09:53:32 +00:00
f1486a9b09 - Bump version: 10.0.9 → 10.0.10
- Fix setup of discoverable partitions
  Make sure GUI is unique and typecode is set according to the
  standard. This Fixes #2517

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=245
2024-03-28 15:48:33 +00:00
cf9331694b - Bump version: 10.0.8 → 10.0.9
- Live ISO Wait for udev events after repart
  Make sure to wait for the event queue to become empty after
  the creation of the write partition. When kiwi calls the
  code to create the write partition this emits new udev events.
  It's important to wait for the event queue to become empty
  to avoid a potential regression on the use of the device nodes.
  In the processing of the events it can happen that a device
  gets removed and re-added. If we don't want for udev
  to process the entire queue it can happen that the
  wrong block device is used. This wrong selection is only
  possible because the way how hybrid ISOs are designed exposes
  both, the disk and the partition for the root device with
  the same label. This Fixes bsc#1213595

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=244
2024-03-27 16:47:22 +00:00
d86f5580e4 - Bump version: 10.0.7 → 10.0.8
- Fix zipl setup for use with custom btrfs root vol
  In the setup case that btrfs is used for the system and
  the root partition is on a custom named volume (not /),
  this information was not passed to the zipl bootloader
  instance and this caused the mounting of the overall
  root system to fail. This commit fixes it

- Allow ignore stanza in bootstrap
  So far the <ignore> stanza was only effective when placed
  as part of the type="image" packages section. This commit
  allows to place it also to the type="bootstrap" packages.
  This Fixes #2499

- Bump version: 10.0.6 → 10.0.7

- Add support for %v in bundle format
  Allow a placeholder for the entire version text as
  provided by the <version> section

- Allow bundle format to be set on the commandline
  The bundle format is usually specified as part of the image
  description in the bundle_format attribute. This commit also
  allows to specify/overwrite the bundle format in the kiwi
  result bundle command via the new --bundle-format option.
  This Fixes #2509

- Bump version: 10.0.5 → 10.0.6

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=243
2024-03-23 13:40:18 +00:00
7a11ce596c - Bump version: 10.0.6 → 10.0.7
- Add support for %v in bundle format
  Allow a placeholder for the entire version text as
  provided by the <version> section

- Allow bundle format to be set on the commandline
  The bundle format is usually specified as part of the image
  description in the bundle_format attribute. This commit also
  allows to specify/overwrite the bundle format in the kiwi
  result bundle command via the new --bundle-format option.
  This Fixes #2509

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=242
2024-03-20 14:19:30 +00:00
0fbec4d26f - Bump version: 10.0.5 → 10.0.6
- Fixup cleanup of zipl templates
  Make sure temporary modifications to the zipl template
  and config file are not effective in the later system.
  This Fixes bsc#1221469

- Revise system_update.rst

- Revise system_prepare.rst

- Revise system_create.rst
- Revise system_build.rst

- Temp commit


- Revise image_size, kiwi

- Revise image info

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=241
2024-03-19 07:52:30 +00:00
289b31f48b - Bump version: 10.0.4 → 10.0.5
- Followup fix for use of /boot/zipl
  The mounting of /boot/zipl is also only required if the
  bootloader is set to grub2_s390x_emu

- Update schema version in spec file

- Drop rpm-dir from allowed repository type
  Using an arbitrary list of rpm packages as repository is a zypper
  only feature, barely tested and from our pov not really needed
  as a simple createrepo call turns any custom list of packages
  into a clean rpm-md repo including metadata. This commit drops
  rpm-dir from the list of allowed repository types and auto
  converts those image descriptions which makes use of it. Please
  note this does not prevent users from using flat package
  directories with zypper, because the type argument in the
  repository section is an optional attribute. In case there is
  no type specification zypper auto-detects and handles the data
  as it handles it. This Fixes #1926

- Fixup use of /boot/zipl
  Only for the grub2_s390x_emu bootloader setup an optional boot
  partition setup must be put to /boot/zipl rather than to /boot

- Lookup distro provided BLS entries for zipl
  Check if there is already an entry file name produced by the
  distribution logic/policy. If we can find an already present
  entry name, prefer this name over the kiwi naming policy

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=240
2024-03-13 14:12:52 +00:00
40d663979f - Bump version: 10.0.3 → 10.0.4
- Delete invalid EPEL repo from rawhide tests

- Fix s390 tools and grub requirement
  On Fedora/RHEL this is named s390utils and there is no grub2

- Added rawhide integration test

- Add support for BLS zipl
  Add support for <bootloader name="zipl" .../> to support BLS
  based zipl configuration. This Fixes #2481

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=239
2024-03-10 17:01:40 +00:00
b572bff676 - Bump version: 10.0.2 → 10.0.3
- Ensure we use a compatible docopt-ng version
  To ensure our trick to switch between docopt and docopt-ng works,
  we need to have a higher minimum version for docopt-ng where
  compatibility with the original docopt was restored.

- Fixed delta_root build
  The support for delta_root allows to build a delta container
  image from a given base container. Due to the refactoring of
  the kiwi code base using context managers no explicit deletion
  of instances happens anymore. This uncovered a weakness of
  the delta root code at the level of the overlay mount. At
  the time of the umount there are still active temporary
  mount handlers which keeps the mountpoint busy. In order to
  fix this properly also the PackageManager factory is now
  a context manager and the Repository factory received a
  cleanup method which is called when the PackageManager goes
  out of scope. This refactoring also fixes the busy state
  when building deltas

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=238
2024-03-07 15:02:10 +00:00
7b6fd15588 - Bump version: 10.0.1 → 10.0.2
- Don't use poetry publish
  Publishing to pypi is done via pypa/gh-action-pypi-publish
  and the respective auth token. Calling poetry publish does
  not work because this is not authorized

- Bump version: 10.0.0 → 10.0.1

- Drop ci-kiwi-9-compliant.yml
  Delete this action as it existed in the intermediate state
  prior the new major version v10.x.x

- Add tzdata to Debian tests

- Fixed sync script for test-image-rpi on Ubuntu

- Install language-pack-en for Ubuntu arm test

- Install locales-all for Debian tests

- Install language-pack-en for Debian tests

- Fix repo setup for Ubuntu arm test

- Install network stack for Debian test

- Request util-linux explicitly for Ubuntu tests

- Add usr-is-merged to package list for bootstrap

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=237
2024-03-06 10:08:33 +00:00
Dominique Leuenberger
aaea0e3a17 Accepting request 1153889 from Virtualization:Appliances:Builder
- Fix activation of luks pool in the initrd
  kiwi called systemd-cryptsetup directly which does not take
  the settings available in /etc/crypttab into account. This
  commit changes the activation procedure in a way that the
  generator created unit file systemd-cryptsetup@... is used
  This Fixes bsc#1219009

- Set default output console to gfxterm for grub
  If no console setting is done in the image description for grub
  the default output console is set to: gfxterm and the default
  input console is set to: console. This Fixes bsc#1219074

- Allow terminal emulation setup from the cmdline
  Using rd.kiwi.term will export the TERM variable into the initrd
  environment. In case the default value for the terminal emulation
  is not appropriate rd.kiwi.term can be used to overwrite the default.
  The environment is also passed to the systemd unit which calls
  dialog based programs in kiwi dracut code, such that the TERM
  setting will be effective there too. For example:

OBS-URL: https://build.opensuse.org/request/show/1153889
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=111
2024-03-01 22:35:51 +00:00
5656d543da - Fix activation of luks pool in the initrd
kiwi called systemd-cryptsetup directly which does not take
  the settings available in /etc/crypttab into account. This
  commit changes the activation procedure in a way that the
  generator created unit file systemd-cryptsetup@... is used
  This Fixes bsc#1219009
- Allow terminal emulation setup from the cmdline
  Using rd.kiwi.term will export the TERM variable into the initrd
  environment. In case the default value for the terminal emulation
  is not appropriate rd.kiwi.term can be used to overwrite the default.
  The environment is also passed to the systemd unit which calls
  dialog based programs in kiwi dracut code, such that the TERM
  setting will be effective there too. For example:
  rd.kiwi.term=vt100
  This is related to bsc#1218095

- Followup fix for .profile.extra
  Allow to source .profile.extra such that it is possible to
  read and act on e.g cmdline parameters. This is related to
  bsc#1218095


- Add support for reading .profile.extra in initrd
  If there is the file /.profile.extra available in the
  initrd, kiwi will import this additional environment file
  after the import of the standard /.profile file.
  This is related to bsc#1218095

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=236
2024-03-01 10:54:06 +00:00
40917ce39c - Set default output console to gfxterm for grub
If no console setting is done in the image description for grub
  the default output console is set to: gfxterm and the default
  input console is set to: console. This Fixes bsc#1219074

- Follow up fix for drop of hybrid boot snippets
  The following is left over code from the drop of the hybrid
  boot templates.

- Drop hybrid boot snippets from the GRUB 2 configuration template
  Sometime between GRUB 2.04 and GRUB 2.06, it became no longer
  necessary to use "linuxefi"+"initrdefi" for UEFI boot. The
  standard "linux"+"initrd" stanzas work for both legacy BIOS boot
  and modern UEFI boot.
  Some distributions no longer support "linuxefi"+"initrdefi" at all
  anymore, so let's just use "linux"+"initrd" for everything now.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=235
2024-02-29 13:33:23 +00:00
1d2801313f - Add changelog fix file for commit 31deb0
The commit used a wrong e-mail address which should not
  land in the created changes file for the packaging

- Apply changelog fixes by glob
  Does not require Makefile changes when maintaining branches

- Add changelog fix file for commit deb6ca
  The commit used a wrong e-mail address which should not
  land in the created changes file for the packaging

  Signed-off-by: David Cassany <dcassany@suse.com>

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=234
2024-02-29 08:54:55 +00:00
fbeba8c6fd - Include partprobe in initrd for s390
This commit includes partprobe, in addition to parted, on
  s390 based systems. Otherwise partx is used and apparently
  it does not properly support s390.
  Fixes bsc#1219798
  Signed-off-by: David Cassany <david@localhost.localdomain>

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=233
2024-02-19 12:15:37 +00:00
Dominique Leuenberger
5e35fee5eb https://bugzilla.opensuse.org/show_bug.cgi?id=1219074
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=110
2024-01-23 09:24:08 +00:00
Ana Guerrero
906b00cf8d Accepting request 1140588 from Virtualization:Appliances:Builder
- Disable workflow runs from master
  The following github actions will be disabled from master
  because they are expected to run from main:
  - ci-publish-pages.yml
  - ci-publish-to-pypi.yml
  - ci-update-build-tests.yml

- Bump version: 9.25.21 → 9.25.22

- Fixed regression in GRUB_SERIAL_COMMAND setup
  The condition to write the serial line setup was broken.
  This commit fixes it. Related to Issue #2419

- Fixed grub terminal setup
  The grub terminal setup is divided into the setting for the output
  and the input console. For both settings different parameters exists.
  So far kiwi did not differentiate between the two parts of the
  console setup and that could lead to a wrong setting if only one
  value is provided in kiwi's console= attribute which lead to the
  grub setting, GRUB_TERMINAL=value. If value is set to e.g gfxterm
  grub takes this for both input and output and it's obviously
  wrong for the input. To make this less error prune the kiwi code
  changes with this commit to set GRUB_TERMINAL_INPUT and
  GRUB_TERMINAL_OUTPUT rather than GRUB_TERMINAL and also runs sanity
  checks on the provided values if they are applicable. The information
  for setting up the console in the schema stays untouched though.
  That's because it's used for all bootloaders and also because grub
  supports multiple values for the console in/out setting in one
  GRUB_TERMINAL variable even though kiwi does no longer use it.
  To make this clear for the users also the documentation for the

OBS-URL: https://build.opensuse.org/request/show/1140588
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=109
2024-01-22 19:31:10 +00:00
429f5fcfdb - Disable workflow runs from master
The following github actions will be disabled from master
  because they are expected to run from main:
  - ci-publish-pages.yml
  - ci-publish-to-pypi.yml
  - ci-update-build-tests.yml

- Bump version: 9.25.21 → 9.25.22

- Fixed regression in GRUB_SERIAL_COMMAND setup
  The condition to write the serial line setup was broken.
  This commit fixes it. Related to Issue #2419

- Fixed grub terminal setup
  The grub terminal setup is divided into the setting for the output
  and the input console. For both settings different parameters exists.
  So far kiwi did not differentiate between the two parts of the
  console setup and that could lead to a wrong setting if only one
  value is provided in kiwi's console= attribute which lead to the
  grub setting, GRUB_TERMINAL=value. If value is set to e.g gfxterm
  grub takes this for both input and output and it's obviously
  wrong for the input. To make this less error prune the kiwi code
  changes with this commit to set GRUB_TERMINAL_INPUT and
  GRUB_TERMINAL_OUTPUT rather than GRUB_TERMINAL and also runs sanity
  checks on the provided values if they are applicable. The information
  for setting up the console in the schema stays untouched though.
  That's because it's used for all bootloaders and also because grub
  supports multiple values for the console in/out setting in one
  GRUB_TERMINAL variable even though kiwi does no longer use it.
  To make this clear for the users also the documentation for the

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=232
2024-01-19 10:29:20 +00:00
Dominique Leuenberger
cca08fec7e Accepting request 1132074 from Virtualization:Appliances:Builder
- Update test-image-MicroOS
  Incorporate latest changes from upstream MicroOS and
  also add an encrypted profile build for testing

- Bump version: 9.25.18 → 9.25.19

- Fix typo in workflow overview doc section

- Add missing documentation for oem-unattended-id

- Allow install disk overwrite from cmdline
  Add rd.kiwi.oem.installdevice=DEVICE. Configures the disk device
  that should be used in an OEM installation. This overwrites any
  other oem device setting, e.g device filter or maxdisk and just
  continues the installation on the given device. However, the
  device must exist and must be a block special.
  This Fixes jira#PED-7180

- Update mailmap

- Replace the regex-based loader entry fix with string parsing (#2388)
  A user building RHEL images ran into issues with the initrd.
  It turns out that RHEL uses some patches that mean the
  initrd/linux files in RHEL are not installed to /boot, which trips
  up the original regex. The new fix doesn't rely on matching the
  path in boot, instead just finding the initrd/linux files and rewriting
  them in place.
  This change also adds the pre-and-post fix loader entries to the debug logs.
  Reference: https://bugzilla.suse.com/1208701
  Fixes suse bsc#1208701

OBS-URL: https://build.opensuse.org/request/show/1132074
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=108
2023-12-09 21:49:09 +00:00
0d83db7c6f - Update test-image-MicroOS
Incorporate latest changes from upstream MicroOS and
  also add an encrypted profile build for testing

- Bump version: 9.25.18 → 9.25.19

- Fix typo in workflow overview doc section

- Add missing documentation for oem-unattended-id

- Allow install disk overwrite from cmdline
  Add rd.kiwi.oem.installdevice=DEVICE. Configures the disk device
  that should be used in an OEM installation. This overwrites any
  other oem device setting, e.g device filter or maxdisk and just
  continues the installation on the given device. However, the
  device must exist and must be a block special.
  This Fixes jira#PED-7180

- Update mailmap

- Replace the regex-based loader entry fix with string parsing (#2388)
  A user building RHEL images ran into issues with the initrd.
  It turns out that RHEL uses some patches that mean the
  initrd/linux files in RHEL are not installed to /boot, which trips
  up the original regex. The new fix doesn't rely on matching the
  path in boot, instead just finding the initrd/linux files and rewriting
  them in place.
  This change also adds the pre-and-post fix loader entries to the debug logs.
  Reference: https://bugzilla.suse.com/1208701
  Fixes suse bsc#1208701

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=231
2023-12-08 10:58:41 +00:00
Ana Guerrero
a35145990b Accepting request 1118210 from Virtualization:Appliances:Builder
- Bump version: 9.25.16 → 9.25.17

- Fixed argument processing of config.bootoptions
  Instead of adding an extra space to make the subsequent reading
  to work, use an awk script that does it without nasty workarounds

- Allow test-image-disk-ramdisk to be build locally

- Bump version: 9.25.15 → 9.25.16

- Fixed doc search field
  The search in the documentation is broken with the rtd
  schema and latest sphinx. Stick with sphinx 5.0.0 for the
  moment which fixes the issue

- Bump version: 9.25.14 → 9.25.15

- Make codacy happy

- Support release version in signkey URLs
  Using one of the $releasever/${releasever} variable placeholders
  in an URL as part of a <signing key="..."/> element did not replace
  the placeholder with the value of the <release-version> element.
  This commit fixes this and also makes sure that the result list
  for downloading signing keys is unique. This Fixes #2381

- Bump version: 9.25.13 → 9.25.14

- Update pypi release to trusted workflow

OBS-URL: https://build.opensuse.org/request/show/1118210
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=107
2023-10-17 18:22:36 +00:00
0ee77e4a8e - Bump version: 9.25.16 → 9.25.17
- Fixed argument processing of config.bootoptions
  Instead of adding an extra space to make the subsequent reading
  to work, use an awk script that does it without nasty workarounds

- Allow test-image-disk-ramdisk to be build locally

- Bump version: 9.25.15 → 9.25.16

- Fixed doc search field
  The search in the documentation is broken with the rtd
  schema and latest sphinx. Stick with sphinx 5.0.0 for the
  moment which fixes the issue

- Bump version: 9.25.14 → 9.25.15

- Make codacy happy

- Support release version in signkey URLs
  Using one of the $releasever/${releasever} variable placeholders
  in an URL as part of a <signing key="..."/> element did not replace
  the placeholder with the value of the <release-version> element.
  This commit fixes this and also makes sure that the result list
  for downloading signing keys is unique. This Fixes #2381

- Bump version: 9.25.13 → 9.25.14

- Update pypi release to trusted workflow

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=230
2023-10-17 07:36:08 +00:00
Ana Guerrero
cf6dfad4f3 Accepting request 1103984 from Virtualization:Appliances:Builder
- Bump version: 9.25.11 → 9.25.12

- Fix double grub entries in hybrid ISO images
  As consequence of using the "source" grub command instead
  of the "configfile" command to load the grub config we now
  see double loading of the same file on ISO media. The reason
  here is that kiwi ISO media is always hybrid which means it
  embeds an MBR into the ISO for which the "source" command now
  can read the same file through two different device paths.
  This does not happen with the "configfile" grub command.
  Thus this patch uses "configfile" if we produce an ISO image
  and "source" for all other image types. The commit also fixes
  the custom grub template used for ISO images in a way that
  we only set the "serial" command if there is a serial
  configuration provided along with the image description.

- Update x86/tumbleweed/test-image-systemd-boot
  systemd package has been splitted and provides
  systemd-boot in an extra package now

- Limit scope of grub _fix method
  Only apply _fix_grub_to_support_dynamic_efi_and_bios_boot for
  the x86_64 or ix86 architectures. This Fixes #2343

OBS-URL: https://build.opensuse.org/request/show/1103984
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=106
2023-08-16 12:16:30 +00:00
e61f301677 - Bump version: 9.25.11 → 9.25.12
- Fix double grub entries in hybrid ISO images
  As consequence of using the "source" grub command instead
  of the "configfile" command to load the grub config we now
  see double loading of the same file on ISO media. The reason
  here is that kiwi ISO media is always hybrid which means it
  embeds an MBR into the ISO for which the "source" command now
  can read the same file through two different device paths.
  This does not happen with the "configfile" grub command.
  Thus this patch uses "configfile" if we produce an ISO image
  and "source" for all other image types. The commit also fixes
  the custom grub template used for ISO images in a way that
  we only set the "serial" command if there is a serial
  configuration provided along with the image description.

- Update x86/tumbleweed/test-image-systemd-boot
  systemd package has been splitted and provides
  systemd-boot in an extra package now

- Limit scope of grub _fix method
  Only apply _fix_grub_to_support_dynamic_efi_and_bios_boot for
  the x86_64 or ix86 architectures. This Fixes #2343

- Bump version: 9.25.10 → 9.25.11

- remove trailing whitespace

- rpm spec: add missing requires of typing_extensions for python < 3.8

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=229
2023-08-15 07:18:06 +00:00
Dominique Leuenberger
b490c36052 Accepting request 1088796 from Virtualization:Appliances:Builder
Bumping to v9.24.61, this includes small spec file changes required in ALP

OBS-URL: https://build.opensuse.org/request/show/1088796
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=105
2023-05-26 18:14:17 +00:00
2326e78b43 - Bump version: 9.24.60 → 9.24.61
- dracut: modules.d: 99kiwi-lib: add bash shebangs and dependency
  The scripts in the kiwi-lib module use bash-specific syntax like
  `function`, which causes the script to fail if another shell (like dash
  or busybox) is used to interpret the scripts. Specifically set the shebang
  to use bash as the shell interpreter and add bash as a dependency to the
  dracut module to fix this.
  This resolves the following errors which are printed at boot when
  busybox tries to interpret the scripts:
  /bin/dracut-pre-mount: 3: /lib/kiwi-filesystem-lib.sh: function: not found
  /bin/dracut-pre-mount: 15: /lib/kiwi-filesystem-lib.sh: Syntax error: "}" unexpected
  Signed-off-by: Isaac True <isaac.true@canonical.com>

- Do not depend on dnf for SUSE ALP

- Added appx-util as WSL requires for Fedora/RHEL
  Make sure the kiwi-systemdeps-containers-wsl meta package
  pulls in the required tools for Fedora/RHEL when building
  WSL containers. This is a followup to #2286

- Add cpio to core systemdeps requires list

- Bump version: 9.24.59 → 9.24.60

- Allow to create plain cpio archives
  Allow to create plain cpio archives to serve the idea
  of the mkosi initrd concept

- Fix restoration of grub2-install (bsc#1210948)

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=228
2023-05-24 07:43:40 +00:00
081ce3f88a - Bump version: 9.24.58 → 9.24.59
- Adding a comment to explain the s390 specific path
  Signed-off-by: David Cassany <dcassany@suse.com>

- Use parted only in s390 arch
  This commit ensures parted is only called in dracut-kiwi-lib for s390
  arch. It also fixes the spec to only require parted for
  s390 builds.
  In addition parted requirement has been removed from dracut-kiwi-live
  package since parted is not used in any other dracut module beyond
  kiwi-lib.
  Signed-off-by: David Cassany <dcassany@suse.com>

- Expand DASD partition table with parted
  Signed-off-by: David Cassany <dcassany@suse.com>

- Fixed evaluation of custom start sector
  In case an alternative partition table start sector is
  configured, the check to effectively apply it should be
  based on the partition table type not on the firmware
  name

- Add parted dependency for s390
  Signed-off-by: David Cassany <dcassany@suse.com>

- Bump version: 9.24.57 → 9.24.58

- Build leap btrfs test without root as snapshot
  So far no btrfs integration test without root as snapshot existed

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=227
2023-04-19 07:19:14 +00:00
Dominique Leuenberger
4cd6f8ac95 Accepting request 1066322 from Virtualization:Appliances:Builder
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1066322
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=104
2023-02-19 17:18:52 +00:00
c519b0c54b - Bump version: 9.24.56 → 9.24.57
- Allow squashfscompression for plain squashfs
  The schematron rule to limit the squashfscompression attribute
  to certain image types did not allow it for a plain squashfs
  filesystem build. This commit fixes that limitation.
  This Fixes #2241

- Use rsync defaults to sync the initrd root-tree
  This commits makes use of rsync default options to sync
  the root-tree of the boot image for custom initrds.
  Fixes bsc#1207128 where it was noted hardlinks
  were not preserved inside the initrd.
  Signed-off-by: David Cassany <dcassany@suse.com>

- Fixed wrong test assertions
  Former versions of pytest did ignore invalid assertions.
  Now they are reported as an error and show the mistakes
  of the past

- Added 90-brd.conf for test-image-disk-ramdisk
  By default the brd ramdisk module is no longer added to the
  initrd. For ramdisk deployments this is required though.
  This Fixes #2230

- Delete CentOS v7 build tests
  CentOS v7 is EOL for kiwi image build tests

- Allow to specify fixed size for the root partition
  So far the last partition (typically root) in the partition table

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=226
2023-02-10 07:47:06 +00:00
Dominique Leuenberger
482c06539d Accepting request 1045322 from Virtualization:Appliances:Builder
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1045322
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=103
2022-12-28 09:54:13 +00:00
cab084ba49 - Bump version: 9.24.54 → 9.24.55
- Allow to pass credentials as file reference

- Fixed handling of container archive compression
  In kiwi we support handling of the container archive compression
  via a runtime configuration setting of the following form, eg
  in /etc/kiwi.yml
  ```yaml
  container:
  # Specify compression for container images
  # Possible values are true, false, xz or none.
  - compress: true
  ```
  However, this setting was only taken into account in the kiwi
  bundler. Meaning if the user calls 'kiwi result bundle ...'
  after the container image has been created the result bundler
  will take the compression setting into account. From my perspective
  this behavior is misleading and also prevents users from
  creating compressed container archives without a subsequent
  result bundler call. Therefore this commit moves the place to
  handle the compression setting into the container classes.
  The bundler code for containers will no longer operate on it
  and just takes what it gets, which can be either compressed
  or not. The default setting was "No compression" and this
  was not changed. This Fixes #2217

- Add type hints for OCI and APPX classes

- Bump version: 9.24.53 → 9.24.54

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=225
2022-12-18 20:55:16 +00:00
Dominique Leuenberger
f211055970 Accepting request 1031379 from Virtualization:Appliances:Builder
- Bump version: 9.24.48 → 9.24.49

- Fixed test-image-vagrant
  virtualbox-guest-tools obsoletes virtualbox-guest-x11

- ignore the type check on the Result class
  With an update of mypy the bound TypeVar is no longer allowed.
  In newer versions of python we could use the "Self" type or
  import annotations from the future module. Unfortunately in
  older python versions which we still support (3.6) there is
  no non intrusive change which allows us to handle that type
  annotation. Thus this commit ignores the return type spec
  for Result.load() for the moment.

- Stop copying /dev files statically into the OCI container
  In containers (nspawn) where part of the /dev filesystem is bind-mounted
  from outside system, kiwi fails to do the rsync (in creation of the
  nodes).
  There is no reason to actually copy whole tree inside so let's just
  not do it (as it does not seem to be needed at all).

- List riscv64 as a valid architecture in the schemas
  This is needed so that architecture filters on riscv64 specifics can
  be defined.

- Support DM integrity legacy options
  Add a new attribute integrity_legacy_hmac="true|false" which
  allows to use old flawed HMAC calculation (does not protect superblock).
  Add a new attribute integrity_legacy_padding="true|false" which
  allows to use inefficient legacy padding. Do not use these attributes

OBS-URL: https://build.opensuse.org/request/show/1031379
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=102
2022-10-27 11:53:04 +00:00
adfdeb6230 - Bump version: 9.24.48 → 9.24.49
- Fixed test-image-vagrant
  virtualbox-guest-tools obsoletes virtualbox-guest-x11

- ignore the type check on the Result class
  With an update of mypy the bound TypeVar is no longer allowed.
  In newer versions of python we could use the "Self" type or
  import annotations from the future module. Unfortunately in
  older python versions which we still support (3.6) there is
  no non intrusive change which allows us to handle that type
  annotation. Thus this commit ignores the return type spec
  for Result.load() for the moment.

- Stop copying /dev files statically into the OCI container
  In containers (nspawn) where part of the /dev filesystem is bind-mounted
  from outside system, kiwi fails to do the rsync (in creation of the
  nodes).
  There is no reason to actually copy whole tree inside so let's just
  not do it (as it does not seem to be needed at all).

- List riscv64 as a valid architecture in the schemas
  This is needed so that architecture filters on riscv64 specifics can
  be defined.

- Support DM integrity legacy options
  Add a new attribute integrity_legacy_hmac="true|false" which
  allows to use old flawed HMAC calculation (does not protect superblock).
  Add a new attribute integrity_legacy_padding="true|false" which
  allows to use inefficient legacy padding. Do not use these attributes

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=224
2022-10-26 07:36:09 +00:00
Dominique Leuenberger
5ff43f5dee Accepting request 1000211 from Virtualization:Appliances:Builder
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1000211
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=101
2022-08-31 16:08:38 +00:00
1538e53afd - Bump version: 9.24.47 → 9.24.48
- Fixed kexec options setup in kiwi-dump-reboot
  The dracut module 99kiwi-dump-reboot creates an options
  list for kexec. Under certain conditions the options
  list can contain multiple spaces which leads to an error
  when calling kexec. This commit makes sure to trim
  white spaces. This Fixes #2178

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=223
2022-08-23 09:54:59 +00:00
Dominique Leuenberger
45db86580a Accepting request 997596 from Virtualization:Appliances:Builder
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/997596
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=100
2022-08-19 15:53:02 +00:00
716596c7a4 - Bump version: 9.24.46 → 9.24.47
- Revert "EFI Filesystem must be Fat32 formatted"
  Using fat32 causes failed boots on e.g AWS EC2 arm.
  This must be solved differently with an attribute
  to configure it.
  This reverts commit b8641bdc6825423f8c65b55c8d0870b38874a566.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=222
2022-08-10 18:44:13 +00:00
710c32f150 - Bump version: 9.24.45 → 9.24.46
- Support URIs with credentials in solver plugin
  check if the URI string contains credentials and
  extract/trim them from the uri object. The urlparse
  class does not recognize this information as a valid
  URI and throws an exception

- Fixed test-image-disk-legacy
  Increase size of embedded EFI fat image needed for EFI
  bootable install ISO. Due to the increased size of the
  custom kiwi initrd the default size for the FAT image
  is too small

- Support custom size for embedded EFI FAT image
  For ISO images (live and install) the EFI boot requires an embedded
  FAT image. As of now a fixed size of 20M was used which leads to a
  problem if the EFI image or the initrd or the kernel is bigger than
  20M. With the new attribute:
  efifatimagesize="nonNegativeInteger"
  we can now set a different value for the FAT image. Please note the
  value must be aligned to the also customizable efipartsize value
  which allows to configure the size of the EFI partition

- Fixed linter complaints after flake update
  flake now complains about E275 missing whitespace
  after keyword for the way 'del' is used. This commit
  fixes it

- Added a NOTE: section to explain the finer points of adding tools to a

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=221
2022-08-09 16:28:00 +00:00
Dominique Leuenberger
32d6eb8d91 Accepting request 990087 from Virtualization:Appliances:Builder
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/990087
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=99
2022-08-04 11:23:11 +00:00
0d592087b0 - Bump version: 9.24.44 → 9.24.45
- Umount device before cloning
  In case a clone should be created from a partition we need
  to make sure to umount the device after sync and prior cloning.
  Otherwise the clone operation is not safe because the rsynced
  data might still be in memory and not synced out to the block
  device.

- Fixed custom disk start sector setup
  The attribute disk_start_sector allows to specify a custom
  start sector for the first partition of the disk. On GPT
  tables everything works nicely, on DOS tables the used tools
  fdisk/sfdisk are not able to manage the start/end values of
  subsequent partitions if the first partition doesn't start
  with the tooling default. This patch allows to set the
  start sector after the partition table has been created

- Fixed CentOS-8 repo setup

- Bump version: 9.24.43 → 9.24.44

- Make sure to rebuild rpm database
  For rpm based distributions make sure to call
  rpm --rebuilddb unconditionally prior using rpm
  with the chroot. This Fixes #2165

- github: Refresh issue template to cover more operating scenarios
  KIWI is often used for cross-distribution image builds, so we
  should ask for that information when appropriate.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=220
2022-07-12 07:55:11 +00:00
Dominique Leuenberger
9c14211a14 Accepting request 982951 from Virtualization:Appliances:Builder
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/982951
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=98
2022-06-18 20:05:20 +00:00
ac4e7c4007 - Bump version: 9.24.40 → 9.24.41
- Fix helper method to detect dracut outfile format
  The method _get_boot_image_output_file_format_from_dracut_code
  is used in kiwi to match parts of the dracut code for the used
  output file format. Beginning with dracut-056 the code part
  checked has changed syntactically such that the match did
  no longer work. This commit increases the scope of the match
  and replace pattern and Fixes #2149

- Fixed handling of signing_keys in cmdline options
  When passing signing_keys with the --add-repo|--set-repo
  commandline options the delimiter to separate the single
  key information is a colon(:). However, this is stupid when
  kiwi expects the signing key to be references as an URI
  format like file://... Therefore this patch changes the
  delimiter from colon(:) to semicolon(;)

- Bump version: 9.24.39 → 9.24.40

- Setup SELinux on every system prepare / build (#2148)
  Setup SELinux on every system prepare / build such that all image types benefit from it not only the disk (oem) type

- Install all of QEMU to Ubuntu arm integration test

- rename user to ubuntu for Ubuntu integration test

- Bump version: 9.24.38 → 9.24.39

- Move to sphinx>=5.0.0

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=219
2022-06-09 08:39:17 +00:00
Dominique Leuenberger
5668f900a8 Accepting request 978738 from Virtualization:Appliances:Builder
Bump to v9.24.36

OBS-URL: https://build.opensuse.org/request/show/978738
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=97
2022-05-24 18:31:08 +00:00
e0dd6e9367 - Bump version: 9.24.35 → 9.24.36
- Subformats should also not be compressed when encryption is enabled (#2138)
  Subformats should also not be compressed when encryption is enabled
  This is a follow on change to bdba953. When the filesystem is encrypted the
  resulting image should not be compressed. Also explain why we ignore the
  compression seeting in the user configuration for encrypted images.

- Add support for prebuilt bootstrap package for apt
  When using the apt packagemanager kiwi required the use of
  debootstrap to create the initial rootfs. This works as long
  as there is always a main distribution repository available
  which follows the structure of the official debian mirrors.
  However if such a main distribution is not present or an
  alternative layout like e.g OBS repos is used, debootstrap
  will refuse to work. To allow for an alternative and without
  the dependency to debootstrap kiwi supports using a prebuilt
  bootstrap package providing the mini rootfs to serve as
  the bootstrap result. As all other package managers properly
  supports installation into an empty new root, this feature
  was only added when using the apt packagemanager

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=218
2022-05-19 13:25:46 +00:00
Dominique Leuenberger
a3cba1c22c Accepting request 977387 from Virtualization:Appliances:Builder
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/977387
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=96
2022-05-17 15:23:33 +00:00
72996f1d2e - Bump version: 9.24.34 → 9.24.35
- Allow more repo params to be set on the cmdline
  The repository parameters for signing keys, the component
  list the main distribution name for debian repositories and
  also the repository_gpgcheck could not be set via the
  commandline options --add-repo and/or --set-repo. This
  commit adds support for them and also updates the manual
  page accordingly

- Update ubuntu integration tests
  Build them against latest release (jammy).
  This Fixes #2128

- Add support for partition cloning
  Support creating block level clones of certain partitions
  used in the image. Clones can be created from the root, boot
  and any partition listed in the <partitions> element.

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=217
2022-05-08 19:03:45 +00:00
305e58ed17 - Bump version: 9.24.33 → 9.24.34
- Follow up fix for isolinux-config
  isolinux-config is called to update the search path inside
  of the isolinux binary. isolinux/syslinux is exclusive to
  the ix86 architecture and to BIOS firmware. Therefore the
  condition to actually call it should reflect this.

- Bump version: 9.24.32 → 9.24.33

- Fixed runtime check
  Fixed check_dracut_module_for_disk_overlay_in_package_list. The
  check complains if the dracut-kiwi-overlay module is not installed
  but overlay support was requested. This is correct but should only
  be done if the selected initrd system is dracut.

- Add option to set LUKS type to luks1 (#2126)
  Add option to set LUKS type to luks1
  So far the LUKS type could be set to luks and luks2. However, what luks
  version the value 'luks' evaluates to depends on how the distributor has
  packaged luks. Thus it's possible that 'luks' is either luks1 or luks2. To
  also have the opportunity to explicitly specify luks1 this commit adds
  the opportunity in the schema.

- Update devel packages helper
  Added trang as needed when working on the schema

- Add support for dm integrity with secret key
  Allow to protect the opening of the integrity data map and
  journal through a keyfile. For setting the key file two new

OBS-URL: https://build.opensuse.org/package/show/Virtualization:Appliances:Builder/python-kiwi?expand=0&rev=216
2022-05-07 07:09:32 +00:00
Dominique Leuenberger
d0b61734ba Accepting request 969537 from Virtualization:Appliances:Builder
- Bump version: 9.24.30 → 9.24.31

- Fix LABEL detection (#2112)
  When only "root=" is specified on the kernel command line the match is
  located in the first group. Loop through the groups upon mtach to find
  what we are looking for.

- Preserve LABEL setting (#2108)
  Preserve the LABEL= setting when the grub config file is re-generated.
  the GRUB_ENABLE_LINUX_LABEL setting does not exists upstream and
  not in any SUSE distribution. Set the grub setting such that LABEL
  is preserved on SUSE distros. (bsc#1197616)

- Fix test_setup_default_grub_empty_kernelcmdline
  The unit test exists to check that GRUB_CMDLINE_LINUX_DEFAULT
  is not set depending on the provided cmdline. The test exists
  for reasons explained in Issue #1650

- Don't compress .appx containers (#2106)
  The container is actually inside and already compressed.

- Added new CloneDevice class
  Added CloneDevice class to the storage interface.
  The class allows to create clone(s) from a given source
  block device into a list of target block devices.
  The target block devices are clones of the source but
  prevents device naming conflicts for unique identifiers
  like the UUID. This is requires to still allow to boot
  from images containing device clones and needs to be
  handled by tools that might work on top of the cloned

OBS-URL: https://build.opensuse.org/request/show/969537
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-kiwi?expand=0&rev=95
2022-04-15 22:13:20 +00:00