15
0

Accepting request 1275540 from home:dgarcia:branches:devel:languages:python

- Update to 3.37.0:
  - Supports Gentoo profile 23.0 and removes support for the
    nonworking 17.1 and 17.0 profiles.
  - Gentoo element updated to avoid using testing (~arch) packages.
  - Gentoo element now uses upstream binary package host by default.
  - Fixes an issue where an image using the manifest element could
    fail to build when using a non-root user. See bug 2069956.
  - Fixed an issue where the growroot element on openrc init systems
    would not function.
  - Fixed an issue where the devuser element was unable to grant sudo
    capabilities on gentoo images.
  - Fixed an issue in Gentoo implmentation for install-packages
    element where build time would grow linearly with each additional
    package removal. Now, all removed packages are deselected and
    removed in a single transaction.
- 3.36.0:
  - The vm element is no longer included dependency of the
    rocky-container, almalinux-container and fedora-container
    elements. You will need to update your build configuration to
    include this element if you still wish to create partitioned disk
    based images.
- 3.34.0:
  - Adds the ability for diskimage-builder to create images with
    different block sizes. By default, this remains at the default of
    512 bytes, but some newer devices require 4096 bytes to be used,
    which impacts the overall layout rendering 512 byte images
    incompatible. This setting can also be asserted and overridden
    using the DIB_BLOCK_SIZE environment variable, but alternatively
    exists as a new block_size parameter for local_loop section in
    block device YAML documents.

OBS-URL: https://build.opensuse.org/request/show/1275540
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/diskimage-builder?expand=0&rev=69
This commit is contained in:
2025-05-12 06:06:51 +00:00
committed by Git OBS Bridge
parent 8ee3c8b1ad
commit e2a3fb8ce5
4 changed files with 165 additions and 13 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e58087ea11ca40e37d009d2d660d9598ed653dee7420f76161776c2e789a205a
size 515778

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f8766a3c3cc74dd5d226bb2f19ae4dd98d2dc146d821215637d1089ab26571b
size 543401

View File

@@ -1,3 +1,152 @@
-------------------------------------------------------------------
Thu May 8 12:06:24 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- Update to 3.37.0:
- Supports Gentoo profile 23.0 and removes support for the
nonworking 17.1 and 17.0 profiles.
- Gentoo element updated to avoid using testing (~arch) packages.
- Gentoo element now uses upstream binary package host by default.
- Fixes an issue where an image using the manifest element could
fail to build when using a non-root user. See bug 2069956.
- Fixed an issue where the growroot element on openrc init systems
would not function.
- Fixed an issue where the devuser element was unable to grant sudo
capabilities on gentoo images.
- Fixed an issue in Gentoo implmentation for install-packages
element where build time would grow linearly with each additional
package removal. Now, all removed packages are deselected and
removed in a single transaction.
- 3.36.0:
- The vm element is no longer included dependency of the
rocky-container, almalinux-container and fedora-container
elements. You will need to update your build configuration to
include this element if you still wish to create partitioned disk
based images.
- 3.34.0:
- Adds the ability for diskimage-builder to create images with
different block sizes. By default, this remains at the default of
512 bytes, but some newer devices require 4096 bytes to be used,
which impacts the overall layout rendering 512 byte images
incompatible. This setting can also be asserted and overridden
using the DIB_BLOCK_SIZE environment variable, but alternatively
exists as a new block_size parameter for local_loop section in
block device YAML documents.
- A new element autoupdates is added to DIB. This element, with
proper configuration, will enable and configure cloud images to
have a system that automatically updates the image, from the
upstream binaries. To this end, DIB_DEB_UPDATES_CONF or
DIB_YUM_UPDATES_CONF must be set during build time.
- Adds the ability to disable serial console logging from being
setup in the bootloader element by setting the
DIB_BOOTLOADER_USE_SERIAL_CONSOLE environment variable to False.
- Adds logic to permit the removal of consoles when the bootloader
element when no configuration has been expressed which requests
it, and serial console is disabled. This involves
DIB_BOOTLOADER_VIRTUAL_TERMINAL being set to an empty string and
DIB_BOOTLOADER_USE_SERIAL_CONSOLE is set to False.
- The new element replace-partition has been added which allows a
diskimage-builder built image to be used as the base image so that
it can be copied to a new partition layout. This allows the
content to be copied from one image to a new one without making
any package changes. The element replace-partition-redhat has a
documented example for redhat family images.
- It is no longer possible to build images using CentOS 7 or RHEL 7
as a base image as these reached EOL on 30th June 2024. The centos
and centos-minimal elements now default to a DIB_RELEASE value of
9-stream.
- DIB_GRUB_TIMEOUT defaulting to 1 second, GRUB_TIMEOUT was
duplicated in the /etc/defaults/grub the original intension of
DIB_GRUB_TIMEOUT default was to match the typical image default
which is one 1 second instead of 5 second today.
- The bootloader element now strips prior explicit console settings
from the /etc/default/grub file, in order to prevent accidential
re-introduction of prior settings when grub configuration is
manually updated later.
- The default release for the centos element is now “9-stream”
instead of “8”. This is a result of Centos8 having reached End of
Life.
- The autoupdates element has only been tested in Rocky and Ubuntu
images. In addition, the element does not check the validity of
the configuration files in any way.
- 3.33.0:
- Fixes an issue where if an operator set a cloud-init data source
to ConfigDrive, the host might not properly configure as automatic
metadata collection still attempts to operate. We now disable that
by default, when ConfigDrive is passed as an argument.
- 3.32.0:
- A new fail2ban element has been added which has has been tested on
Debian and Rocky images. The usage of a new variable
DIB_FAIL2BAN_CONF is now mandatory during built time.
- The bootloader element will explicitly set the timeout style to
hidden to hide the menu. Set DIB_GRUB_TIMEOUT_STYLE to menu to
display the menu and then wait for the timeout expire before
booting the default entry.
- Use of the simple-init element now removes cloud-init, in order to
prevent the two tools from clashing when booting a workload.
- Added a DIB_DEBIAN_CLOUD_INIT_HELPER variable that controls
whether debian element will attempt to pre-create required users
and sudoers file for the default cloud-init user. This should not
be needed for any modern Debian distro.
- Value of DIB_DEBIAN_ALT_INIT_PACKAGE has been switched to
systemd-sysv for Debian releases older then Jessie. If you still
need to build a version of Debian that is relying on sysvinit
please override the DIB_DEBIAN_ALT_INIT_PACKAGE variable for that.
- 3.31.0:
- The usage of the DIB_CHECKSUM variable is extended. Now to be more
specific the variable can be set to the sha256 or md5 value to
generate only one checksum file. There also can be provided a
comma-separated list of the values, but only sha256 and md5
supported. For backward compatibility using DIB_CHECKSUM=1 or
option --checksum in the command line still can be used to
generate all supported checksums.
- The deploy-baremetal, deploy-kexec, deploy-tgtadm, and
deploy-targetcli elements are deprecated and will be removed in a
future release of diskimage-builder. The origins of the elemenets
largely dates back to the early efforts to support baremetal
deployment, and the methods have been long ago moved away from.
- As NetworkManager cant automatically create default connection
profiles for InfiniBand interfaces, we are adding
nm-dhcp-ib-interfaces element to install
NetworkManager-system-connections-infiniband.nmconnection to
NetworkManager to create a wildcard InfiniBand connection profile.
- 3.30.0:
- Added environment variable REG_SAT_REPO to the rhel-common
element. Sets the repository label for Satellite client tools.
- The bootloader element now has variable
DIB_BOOTLOADER_VIRTUAL_TERMINAL to customize or suppress the
console=tty0 kernel argument.
- The Satellite Client reposotories replaces the Satellite Tools
repository since Satellite 6.11. The default repo labels in the
rhel-common element has been updated to reflect this change. See
Red Hat Satellite 6.11 Release Notes.
- To enable users that need to use the legacy Satellite Tools
repository, the REG_SAT_REPO environment variable has been added
to enable manual override of the Satellite repository.
- 3.28.0:
- Adds a fips element which attempts to enable FIPS mode
configuration into the disk image being created.
- A new command diskimage-builder is now provided (also aliased to
dib). It provides a YAML file based interface to disk-image-create
and ramdisk-image-create. All arguments can be specified as yaml
dictionary entries, along with environment variable overrides
which are applied over the provided environment.
- Adds swap as a valid “filesystem” for block devices
- Fixed the ubuntu-minimal target to also run autoremove at the end
of an image build.
- Fixes a possible case with a FIPS enabled disk image where the
cryptographic policies may be applied for enforcement of FIPS
mode, but the underlying kernel command line may be missing. This
in particular was discovered when testing on Rocky Linux. We now
test, and add the FIPS kernel command line flag if it is otherwise
enabled.
- Fixes the GRUB2 bootloader kernel command line where a prior boot
parameter could cause issues with bootloader configuration when an
image is rebuilt and the bootloader element is utilized. We now
remove any prior boot parameter in /etc/default/grub when
executing the bootloader element, and then assert a valid entry
boot parameter if a /boot partition is defined as part of the
image build.
-------------------------------------------------------------------
Sat Jan 28 19:45:48 UTC 2023 - Dirk Müller <dmueller@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package diskimage-builder
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
# are only ever run inside the disk image build chroot).
%global __requires_exclude_from ^%{python3_sitelib}/diskimage_builder/elements/.*$
Name: diskimage-builder
Version: 3.26.0
Version: 3.37.0
Release: 0
Summary: Image Building Tools for OpenStack
License: Apache-2.0
@@ -33,21 +33,24 @@ BuildRequires: findutils
BuildRequires: python-rpm-macros
BuildRequires: python3-PyYAML >= 3.12
BuildRequires: python3-fixtures
BuildRequires: python3-jsonschema
BuildRequires: python3-networkx >= 1.10
BuildRequires: python3-oslotest
BuildRequires: python3-pbr >= 2.0.0
BuildRequires: python3-pip
BuildRequires: python3-setuptools
BuildRequires: python3-stestr
BuildRequires: python3-stevedore >= 1.20.0
BuildRequires: python3-testrepository
BuildRequires: python3-testtools
BuildRequires: python3-wheel
BuildRequires: sed
# No stuff in python_sitelib, thus autoreqprov won't work:
Requires: kpartx
Requires: python3-Babel >= 2.3.4
Requires: python3-PyYAML >= 3.12
Requires: python3-jsonschema
Requires: python3-networkx >= 1.10
Requires: python3-six >= 1.10.0
Requires: python3-stevedore >= 1.20.0
Requires: qemu-tools
Requires: sudo
@@ -69,28 +72,28 @@ for even further customization.
# Fix env-script-interpreter rpmlint warning
find diskimage_builder/elements -type f -perm /a+x \
-exec sh -c "sed -E -i s@^#\!%{_bindir}/env[[:space:]]+python@#\!%{_bindir}/python@ {}" \;
# https://bugs.launchpad.net/diskimage-builder/+bug/1963630
sed -i 's:import mock:import unittest.mock as mock:' $(grep -rl 'import mock')
%build
%python3_build
%python3_pyproject_wheel
%install
%python3_install
%py3_compile %{buildroot}
%python3_pyproject_install
%fdupes %{buildroot}
%check
export PYTHON=%{_bindir}/python3
stestr run
# Skip test_mount_comparator that's broken with python3
# https://bugs.launchpad.net/diskimage-builder/+bug/2110216
stestr run --exclude-regex "test_mount_comparator"
%files
%doc ChangeLog README.rst AUTHORS
%license LICENSE
%{_bindir}/disk-image-create
%{_bindir}/diskimage-builder
%{_bindir}/dib-lint
%{_bindir}/ramdisk-image-create
%{python3_sitelib}/diskimage_builder/
%{python3_sitelib}/diskimage_builder*.egg-info/
%{python3_sitelib}/diskimage_builder*-info/
%changelog