File catalyst.spec of Package catalyst
#
# spec file for package catalyst
#
# 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/
#
%global tar_version 3.0.0-alpha.20251212
Name: catalyst
Version: 3.0.0~alpha.20251212
Release: 0
Summary: Dracut modules for initial configuration for immutable systems
License: GPL-2.0-or-later
Group: System/Management
URL: https://src.suse.de/UnifiedCore/catalyst.git
Source0: catalyst-v%{tar_version}.tar.gz
Requires: firstboot-detect
Requires: dracut
Requires: nm-configurator
Conflicts: combustion < %{version}-%{release}
# For VMware guestinfo
Suggests: open-vm-tools
Requires: (gzip if open-vm-tools)
BuildArch: noarch
BuildRequires: zstd
%description
Catalyst is a collection of dracut modules to provide initial configuration at
boot time.
%package -n firstboot-detect
Summary: Firstboot detection for inital configuration
Conflicts: combustion < %{version}-%{release}
%description -n firstboot-detect
Firstboot-detect is a dracut module which sets the firstboot.target
systemd unit on early boot.
This is used by other tools such as Catalyst, Combustion or Ignition to schedule
their early boot services based on this firstboot.target
%package -n catalyst-combustion-compat
Summary: Compatibility package for Combustion when using Catalyst for inital configuration
Provides: combustion = %{version}-%{release}
Obsoletes: combustion < %{version}-%{release}
%description -n catalyst-combustion-compat
Catalyst-combustion-compat is a minimal module for dracut, which provides a
dummy combustion executable just fullfil Ignition's requirements.
%prep
%autosetup -p1 -n catalyst
%build
%install
%make_install
%post
%{?regenerate_initrd_post}
%posttrans
%{?regenerate_initrd_posttrans}
%files
%license LICENSE
%doc README.md
%dir %{_prefix}/lib/dracut/
%dir %{_prefix}/lib/dracut/modules.d/
%{_prefix}/lib/dracut/modules.d/35catalyst/
%{_prefix}/lib/dracut/modules.d/95catalyst-live/
%{_prefix}/lib/dracut/modules.d/95catalyst-net/
%files -n catalyst-combustion-compat
%license LICENSE
%doc README.md
%dir %{_prefix}/lib/dracut/
%dir %{_prefix}/lib/dracut/modules.d/
%{_prefix}/lib/dracut/modules.d/35combustion/
%files -n firstboot-detect
%license LICENSE
%doc README.md
%dir %{_prefix}/lib/dracut/
%dir %{_prefix}/lib/dracut/modules.d/
%{_prefix}/lib/dracut/modules.d/30firstboot/
%changelog