Sync from SUSE:SLFO:Main combustion revision 98c4e1e8569b18f578012cace95eb847

This commit is contained in:
Adrian Schröter 2024-05-03 11:47:30 +02:00
commit 856c90d985
7 changed files with 387 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

15
_service Normal file
View File

@ -0,0 +1,15 @@
<services>
<service mode="disabled" name="obs_scm">
<param name="url">https://github.com/openSUSE/combustion.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@</param>
<param name="versionrewrite-pattern">v(.*?)(\+git0)?$</param>
</service>
<service mode="disabled" name="set_version" />
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/combustion.git</param>
<param name="changesrevision">5ff41dbc3735817ffdacb8d6b45e595cc3adba7d</param></service></servicedata>

BIN
combustion-1.3+git9.obscpio (Stored with Git LFS) Normal file

Binary file not shown.

269
combustion.changes Normal file
View File

@ -0,0 +1,269 @@
-------------------------------------------------------------------
Wed Mar 06 12:50:29 UTC 2024 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.3+git9:
* Explicitly install modules for config sources
* Trigger udev rules on ACTION!="remove"
-------------------------------------------------------------------
Fri Mar 01 13:03:26 UTC 2024 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.3+git7:
* Only enable all existing DASDs if it's actually the first boot (bsc#1219849)
* Use $dracutsysrootdir
-------------------------------------------------------------------
Thu Jan 25 15:19:26 UTC 2024 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.3+git5:
* Set the snapper snapshot as important=yes
* Remove unnecessary chmod
-------------------------------------------------------------------
Thu Dec 21 16:51:38 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.3+git3:
* 30firstboot: Do not detect firstboot in the zipl initrd "initgrub" mode
(bsc#1218065)
* Handle absence of NM and wicked properly
* Use dracut $hookdir instead of hardcoding
-------------------------------------------------------------------
Thu Nov 23 10:46:52 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.3:
* Add udev rule for VMware guestinfo
* Read VMware guestinfo value as base64 encoded gzipped script
* Support VMware guestinfo
-------------------------------------------------------------------
Wed Oct 18 06:14:38 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.2+git9:
* Override subvol= with the new snapshot if necessary
-------------------------------------------------------------------
Thu Oct 12 09:35:57 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.2+git8:
* Set mount propagation flags for /sysroot in the right order
-------------------------------------------------------------------
Fri Sep 15 12:29:49 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.2+git7:
* Try the KIWI selfinstall .iso as fallback config source (jsc#PED-6587, jsc#SMO-271)
-------------------------------------------------------------------
Tue Sep 12 15:04:25 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.2+git6:
* Fix failure if /sysroot not mounted and no config provided
-------------------------------------------------------------------
Thu Sep 07 12:39:56 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.2+git5:
* Run combustion-prepare.service before ignition-enable-network.service
* Revert "Remove now obsolete workaround for ignition-mount.service ExecStop"
* Only attempt firstboot check on devices
-------------------------------------------------------------------
Tue Aug 22 15:57:49 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.2+git2:
* Don't consider /var/lib/YaST2/reconfig_system for firstboot detection
* Use improved x-initrd.mount code in firstboot-detect as well
-------------------------------------------------------------------
Mon Aug 21 06:35:50 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.2:
* Don't remove YaST reconfig_system marker if called from ignition
* Remove now obsolete workaround for ignition-mount.service ExecStop
* Set dasd_mod.dasd=autodetect in modprobe.d
* Omit combustion module in initrds for already configured systems
* New module to handle firstboot detection in the initrd (poo#127196,
jsc#PED-5843)
* Fixes for use with ignition-kargs-helper
* Improve x-initrd.mount handling
* Work around systemd issue with emergency.target at the root
-------------------------------------------------------------------
Thu Aug 03 07:32:20 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.1+git0:
* Add option to run the script in the prepare phase as well
* Add compatibility for ignition-kargs-helper
* Populate /dev/shm/combustion/ in the --prepare stage
* Small README.md improvements
* combustion.rules: Match /module/qemu_fw_cfg instead of the namespace within
-------------------------------------------------------------------
Tue Jul 11 12:51:13 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.0+git4:
* Handle uppercase filesystem labels in combustion.rules as well
* Update README.md to explain the current mechanism of firstboot_happened
-------------------------------------------------------------------
Thu Aug 18 12:57:27 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.0+git2:
* Let selinux-microos-relabel decide whether a relabel is necessary (bsc#1202437)
-------------------------------------------------------------------
Tue Aug 02 11:32:23 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Update to version 1.0+git1:
* Use /lib/dracut/hooks instead of the usr-merged location (bsc#1201957)
-------------------------------------------------------------------
Wed Jul 06 09:34:01 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Switch to use the git repo with obs_scm
- Update to version 1.0+git0:
* Add Makefile for make install support
* Start sysroot-usr.mount as well
* Replace invalid use of ln_r in module-setup.sh
-------------------------------------------------------------------
Thu Mar 24 09:40:34 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Bump version to 0.3
- Use the Wiki page as URL (boo#1195383)
- Don't touch /sysroot/etc/ after creating a new snapshot, it ends up
in the old snapshot's overlay
-------------------------------------------------------------------
Wed Mar 23 15:15:15 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Disable ignition-mount.service's ExecStop instead of stopping the
unit (boo#1197309)
-------------------------------------------------------------------
Mon Mar 21 13:20:39 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Be more --quiet with systemctl
-------------------------------------------------------------------
Thu Mar 3 11:58:07 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Support the dracut network-manager module
-------------------------------------------------------------------
Mon Jan 24 11:44:57 UTC 2022 - Fabian Vogt <fvogt@suse.com>
- Remove /var/lib/YaST2/reconfig_system on successful runs
-------------------------------------------------------------------
Wed Nov 24 13:10:37 UTC 2021 - Dimitar Zahariev <mitko@tuionui.com>
- Look for filesystems with uppercase labels as well
-------------------------------------------------------------------
Tue Jul 27 06:37:56 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Drop explicit dependency on sysroot.mount. Instead, handle starting and
stopping of the unit explicitly to avoid conflicts.
- Add workaround for gh#systemd/systemd#20329
-------------------------------------------------------------------
Mon Jun 21 07:07:23 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Set the exit status explicitly
-------------------------------------------------------------------
Mon Jun 7 14:13:14 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- combustion: Relabel the old snapshot (if necessary) and explicitly
trigger autorelabel for the new snapshot
-------------------------------------------------------------------
Fri Mar 5 13:35:22 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- Expand and clarify README
-------------------------------------------------------------------
Wed Jan 20 09:50:53 UTC 2021 - Fabian Vogt <fvogt@suse.com>
- module-setup.sh: Install grep as well
-------------------------------------------------------------------
Thu Oct 22 07:26:03 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Change license to GPL-2.0-or-later
-------------------------------------------------------------------
Tue Oct 13 09:00:58 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Also stop ignition-mount.service if there's no config
-------------------------------------------------------------------
Tue Oct 6 10:19:57 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Implement support for systems without transactional-update
- Require rmdir explicitly
-------------------------------------------------------------------
Mon Oct 5 08:33:19 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Fail properly when the retval file doesn't exist
- Stop ignition-mount.service to avoid conflict (boo#1176746)
-------------------------------------------------------------------
Thu Sep 17 10:56:44 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Overhaul configuration fetching:
* Add udev rules to wait for either ignition, combustion or
fw_cfg drives
* Allow combustion.firstboot in addition to ignition.firstboot
M combustion
A combustion-prepare.service
M combustion.service
M module-setup.sh
- Bump version to 0.2
-------------------------------------------------------------------
Mon Sep 14 09:20:49 UTC 2020 - Ignaz Forster <iforster@suse.com>
- Avoid concurrent run of Ignition and Combustion initialization
scripts to a avoid a duplicate mount of the same device.
-------------------------------------------------------------------
Fri Sep 4 14:27:17 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Add combustion-prepare.service to enable network if needed:
M combustion
A combustion-prepare.service
M combustion.service
M module-setup.sh
- Don't fail if no config drive found to not break ignition with
fw_cfg
-------------------------------------------------------------------
Fri Jul 17 12:25:25 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Adjust README after removal of combustion-generator
- Switch to GPL-2.0-only
-------------------------------------------------------------------
Thu Jul 9 10:29:44 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Also force mounting of /tmp
- Fix getting the script's return value
-------------------------------------------------------------------
Wed Jul 1 10:31:10 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Set the timeout for the config device explicitly, like ignition-dracut
-------------------------------------------------------------------
Fri Jun 19 11:26:48 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Drop dependency on ignition
-------------------------------------------------------------------
Thu Jun 18 11:07:54 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Initial commit

4
combustion.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: combustion
version: 1.3+git9
mtime: 1709729306
commit: 5ff41dbc3735817ffdacb8d6b45e595cc3adba7d

69
combustion.spec Normal file
View File

@ -0,0 +1,69 @@
#
# spec file for package combustion
#
# Copyright (c) 2024 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/
#
Name: combustion
Version: 1.3+git9
Release: 0
Summary: System for initial configuration of appliances
License: GPL-2.0-or-later
Group: System/Management
URL: https://github.com/openSUSE/combustion
Source0: %{name}-%{version}.tar.xz
# This doesn't work with old ignition, conflict with the old firstboot mechanism.
Conflicts: ignition-dracut-grub2
Requires: awk
# For VMware guestinfo
Suggests: open-vm-tools
Requires: (gzip if open-vm-tools)
BuildArch: noarch
%description
Combustion is a minimal module for dracut, which runs a user provided script on
the first boot of a transactional system.
You can use this to create additional files, install packages, set up devices
or even re-partition the hard disk. The configuration can be provided as a
shell script, loaded from an external storage media and is run during boot in a
new system snapshot. On success, the system will directly boot into that new
snapshot, so that no reboot is needed.
%prep
%autosetup -p1
%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/
# Also used by ignition. Could be split into a separate package,
# but ignition depends on combustion anyway.
%{_prefix}/lib/dracut/modules.d/30firstboot/
%{_prefix}/lib/dracut/modules.d/35combustion/
%changelog