File diskimage-builder.spec of Package diskimage-builder

#
# spec file for package diskimage-builder
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


# Prevent shebangs of element scripts from being added as a requirement (they
# are only ever run inside the disk image build chroot).
%global         __requires_exclude_from ^%{python3_sitelib}/diskimage_builder/elements/.*$
Name:           diskimage-builder
Version:        3.37.0
Release:        0
Summary:        Image Building Tools for OpenStack
License:        Apache-2.0
Group:          Development/Languages/Python
URL:            https://github.com/openstack/diskimage-builder
Source0:        https://pypi.io/packages/source/d/%{name}/%{name}-%{version}.tar.gz
Source99:       diskimage-builder-rpmlintrc
BuildRequires:  fdupes
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-stevedore >= 1.20.0
Requires:       qemu-tools
Requires:       sudo
BuildArch:      noarch

%description
diskimage-builder is a tool for automatically building customized
operating-system images for use in clouds and other environments.

It includes support for building images based on many major
distributions and can produce cloud-images in all common formats
(qcow2, vhd, raw, etc), bare metal file-system images and ram-disk
images. These images are composed from the many included elements;
diskimage-builder acts as a framework to easily add your own elements
for even further customization.

%prep
%setup -q
# 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@ {}" \;

%build
%python3_pyproject_wheel

%install
%python3_pyproject_install
%fdupes %{buildroot}

%check
export PYTHON=%{_bindir}/python3
# 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*-info/

%changelog
openSUSE Build Service is sponsored by