commit 856c90d9851ebc445284748a18098fb8584a18d0377b5a82069c3987e6b38c05 Author: Adrian Schröter Date: Fri May 3 11:47:30 2024 +0200 Sync from SUSE:SLFO:Main combustion revision 98c4e1e8569b18f578012cace95eb847 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/_service b/_service new file mode 100644 index 0000000..fcaef80 --- /dev/null +++ b/_service @@ -0,0 +1,15 @@ + + + https://github.com/openSUSE/combustion.git + git + enable + @PARENT_TAG@+git@TAG_OFFSET@ + v(.*?)(\+git0)?$ + + + + + *.tar + xz + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..1202803 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/openSUSE/combustion.git + 5ff41dbc3735817ffdacb8d6b45e595cc3adba7d \ No newline at end of file diff --git a/combustion-1.3+git9.obscpio b/combustion-1.3+git9.obscpio new file mode 100644 index 0000000..f5888a2 --- /dev/null +++ b/combustion-1.3+git9.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9346162283b156350a652771f1fbaf77a0d1cf215742279fa7823ce6f7aff7a0 +size 48650 diff --git a/combustion.changes b/combustion.changes new file mode 100644 index 0000000..000092e --- /dev/null +++ b/combustion.changes @@ -0,0 +1,269 @@ +------------------------------------------------------------------- +Wed Mar 06 12:50:29 UTC 2024 - Fabian Vogt + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Update to version 1.2+git9: + * Override subvol= with the new snapshot if necessary + +------------------------------------------------------------------- +Thu Oct 12 09:35:57 UTC 2023 - Fabian Vogt + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- Disable ignition-mount.service's ExecStop instead of stopping the + unit (boo#1197309) + +------------------------------------------------------------------- +Mon Mar 21 13:20:39 UTC 2022 - Fabian Vogt + +- Be more --quiet with systemctl + +------------------------------------------------------------------- +Thu Mar 3 11:58:07 UTC 2022 - Fabian Vogt + +- Support the dracut network-manager module + +------------------------------------------------------------------- +Mon Jan 24 11:44:57 UTC 2022 - Fabian Vogt + +- Remove /var/lib/YaST2/reconfig_system on successful runs + +------------------------------------------------------------------- +Wed Nov 24 13:10:37 UTC 2021 - Dimitar Zahariev + +- Look for filesystems with uppercase labels as well + +------------------------------------------------------------------- +Tue Jul 27 06:37:56 UTC 2021 - Fabian Vogt + +- 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 + +- Set the exit status explicitly + +------------------------------------------------------------------- +Mon Jun 7 14:13:14 UTC 2021 - Fabian Vogt + +- 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 + +- Expand and clarify README + +------------------------------------------------------------------- +Wed Jan 20 09:50:53 UTC 2021 - Fabian Vogt + +- module-setup.sh: Install grep as well + +------------------------------------------------------------------- +Thu Oct 22 07:26:03 UTC 2020 - Fabian Vogt + +- Change license to GPL-2.0-or-later + +------------------------------------------------------------------- +Tue Oct 13 09:00:58 UTC 2020 - Fabian Vogt + +- Also stop ignition-mount.service if there's no config + +------------------------------------------------------------------- +Tue Oct 6 10:19:57 UTC 2020 - Fabian Vogt + +- Implement support for systems without transactional-update +- Require rmdir explicitly + +------------------------------------------------------------------- +Mon Oct 5 08:33:19 UTC 2020 - Fabian Vogt + +- 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 + +- 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 + +- 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 + +- 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 + +- Adjust README after removal of combustion-generator +- Switch to GPL-2.0-only + +------------------------------------------------------------------- +Thu Jul 9 10:29:44 UTC 2020 - Fabian Vogt + +- Also force mounting of /tmp +- Fix getting the script's return value + +------------------------------------------------------------------- +Wed Jul 1 10:31:10 UTC 2020 - Fabian Vogt + +- Set the timeout for the config device explicitly, like ignition-dracut + +------------------------------------------------------------------- +Fri Jun 19 11:26:48 UTC 2020 - Fabian Vogt + +- Drop dependency on ignition + +------------------------------------------------------------------- +Thu Jun 18 11:07:54 UTC 2020 - Fabian Vogt + +- Initial commit diff --git a/combustion.obsinfo b/combustion.obsinfo new file mode 100644 index 0000000..14ed6b8 --- /dev/null +++ b/combustion.obsinfo @@ -0,0 +1,4 @@ +name: combustion +version: 1.3+git9 +mtime: 1709729306 +commit: 5ff41dbc3735817ffdacb8d6b45e595cc3adba7d diff --git a/combustion.spec b/combustion.spec new file mode 100644 index 0000000..29ebe45 --- /dev/null +++ b/combustion.spec @@ -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