Compare commits
No commits in common. "c9-beta" and "c9s" have entirely different histories.
52
.gitignore
vendored
52
.gitignore
vendored
@ -1,3 +1,49 @@
|
|||||||
SOURCES/coreos-installer-0.23.0-vendor.tar.gz
|
/coreos-installer-0.1.3.crate
|
||||||
SOURCES/coreos-installer-0.23.0.crate
|
/coreos-installer-0.2.0.crate
|
||||||
SOURCES/coreos-installer-dracut-7181733.tar.gz
|
/coreos-installer-0.2.1.crate
|
||||||
|
/coreos-installer-0.3.0.crate
|
||||||
|
/coreos-installer-0.4.0.crate
|
||||||
|
/coreos-installer-0.5.0.crate
|
||||||
|
/coreos-installer-0.6.0.crate
|
||||||
|
/coreos-installer-0.7.0.crate
|
||||||
|
/coreos-installer-0.7.2.crate
|
||||||
|
/coreos-installer-0.9.1-vendor.tar.gz
|
||||||
|
/coreos-installer-0.9.1.crate
|
||||||
|
/coreos-installer-0.10.0.crate
|
||||||
|
/coreos-installer-0.10.0-vendor.tar.gz
|
||||||
|
/coreos-installer-dracut-bbefcb8.tar.gz
|
||||||
|
/coreos-installer-0.10.1.crate
|
||||||
|
/coreos-installer-0.10.1-vendor.tar.gz
|
||||||
|
/coreos-installer-dracut-afa3e35.tar.gz
|
||||||
|
/coreos-installer-dracut-80d42a6.tar.gz
|
||||||
|
/coreos-installer-dracut-597124f.tar.gz
|
||||||
|
/coreos-installer-dracut-9332fe5.tar.gz
|
||||||
|
/coreos-installer-0.11.0.crate
|
||||||
|
/coreos-installer-0.11.0-vendor.tar.gz
|
||||||
|
/coreos-installer-dracut-33f4e13.tar.gz
|
||||||
|
/coreos-installer-dracut-43d5fe4.tar.gz
|
||||||
|
/coreos-installer-dracut-ce0fe1e.tar.gz
|
||||||
|
/coreos-installer-dracut-527b9ca.tar.gz
|
||||||
|
/coreos-installer-dracut-1a262bd.tar.gz
|
||||||
|
/coreos-installer-0.15.0.crate
|
||||||
|
/coreos-installer-0.15.0-vendor.tar.gz
|
||||||
|
/coreos-installer-dracut-89d5789.tar.gz
|
||||||
|
/coreos-installer-dracut-38d9f61.tar.gz
|
||||||
|
/coreos-installer-0.16.1.crate
|
||||||
|
/coreos-installer-0.16.1-vendor.tar.gz
|
||||||
|
/coreos-installer-dracut-5a456ad.tar.gz
|
||||||
|
/coreos-installer-0.17.0.crate
|
||||||
|
/coreos-installer-0.17.0-vendor.tar.gz
|
||||||
|
/coreos-installer-dracut-7181733.tar.gz
|
||||||
|
/coreos-installer-0.18.0.crate
|
||||||
|
/coreos-installer-0.18.0-vendor.tar.gz
|
||||||
|
/coreos-installer-0.20.0.crate
|
||||||
|
/coreos-installer-0.20.0-vendor.tar.gz
|
||||||
|
/coreos-installer-0.21.0.crate
|
||||||
|
/coreos-installer-0.21.0-vendor.tar.gz
|
||||||
|
/coreos-installer-0.22.1.crate
|
||||||
|
/coreos-installer-0.22.1-vendor.tar.gz
|
||||||
|
/coreos-installer-0.23.0.crate
|
||||||
|
/coreos-installer-0.23.0-vendor.tar.gz
|
||||||
|
/coreos-installer-0.24.0.crate
|
||||||
|
/coreos-installer-0.24.0-vendor.tar.gz
|
||||||
|
57
.packit.yaml
Normal file
57
.packit.yaml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# See the documentation for more information:
|
||||||
|
# https://packit.dev/docs/configuration/
|
||||||
|
upstream_tag_template: v{version}
|
||||||
|
|
||||||
|
# add or remove files that should be synced
|
||||||
|
files_to_sync:
|
||||||
|
- rust-coreos-installer.spec
|
||||||
|
- .packit.yaml
|
||||||
|
|
||||||
|
# name in upstream package repository or registry (e.g. in PyPI)
|
||||||
|
upstream_package_name: coreos-installer
|
||||||
|
|
||||||
|
packages:
|
||||||
|
coreos-installer-fedora:
|
||||||
|
specfile_path: rust-coreos-installer.spec
|
||||||
|
downstream_package_name: rust-coreos-installer
|
||||||
|
actions:
|
||||||
|
post-upstream-clone:
|
||||||
|
- wget https://src.fedoraproject.org/rpms/rust-coreos-installer/raw/rawhide/f/rust-coreos-installer.spec
|
||||||
|
changelog-entry:
|
||||||
|
- bash -c 'echo "- New upstream release"'
|
||||||
|
coreos-installer-centos:
|
||||||
|
pkg_tool: centpkg
|
||||||
|
specfile_path: rust-coreos-installer.spec
|
||||||
|
downstream_package_name: rust-coreos-installer
|
||||||
|
actions:
|
||||||
|
post-upstream-clone:
|
||||||
|
- wget https://gitlab.com/redhat/centos-stream/rpms/rust-coreos-installer/-/raw/c9s/rust-coreos-installer.spec
|
||||||
|
changelog-entry:
|
||||||
|
- bash -c 'echo "- New upstream release"'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
- job: propose_downstream
|
||||||
|
trigger: release
|
||||||
|
packages: [coreos-installer-fedora]
|
||||||
|
dist_git_branches:
|
||||||
|
- fedora-rawhide
|
||||||
|
|
||||||
|
- job: koji_build
|
||||||
|
trigger: commit
|
||||||
|
packages: [coreos-installer-fedora]
|
||||||
|
dist_git_branches:
|
||||||
|
- fedora-all
|
||||||
|
|
||||||
|
- job: bodhi_update
|
||||||
|
trigger: commit
|
||||||
|
packages: [coreos-installer-fedora]
|
||||||
|
dist_git_branches:
|
||||||
|
- fedora-all
|
||||||
|
|
||||||
|
- job: propose_downstream
|
||||||
|
trigger: release
|
||||||
|
packages: [coreos-installer-centos]
|
||||||
|
dist_git_branches:
|
||||||
|
- c9s
|
||||||
|
- c10s
|
@ -1,3 +0,0 @@
|
|||||||
d8a034849524e52d84ee55d3a0b5248cbc57788e SOURCES/coreos-installer-0.23.0-vendor.tar.gz
|
|
||||||
2b8a6674ec27b5522bc5fe60d767b5646f8f2241 SOURCES/coreos-installer-0.23.0.crate
|
|
||||||
81f96c32efa9e32730e1f3bda5a820d33229f006 SOURCES/coreos-installer-dracut-7181733.tar.gz
|
|
@ -0,0 +1,67 @@
|
|||||||
|
From dbc41bad9de728f1d42000c5633e3494126f9d6d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dusty Mabe <dusty@dustymabe.com>
|
||||||
|
Date: Thu, 1 May 2025 17:36:39 -0400
|
||||||
|
Subject: [PATCH] download: format byte unit with 1 decimal place precision
|
||||||
|
|
||||||
|
Prior to v0.24.1 the output when processing a stream of disk image
|
||||||
|
input the output would write with 1 decimal place of precision:
|
||||||
|
|
||||||
|
```
|
||||||
|
Read disk 118.2 MiB/2.6 GiB (4%)
|
||||||
|
Read disk 157.0 MiB/2.6 GiB (5%)
|
||||||
|
Read disk 300.1 MiB/2.6 GiB (11%)
|
||||||
|
Read disk 450.6 MiB/2.6 GiB (16%)
|
||||||
|
Read disk 515.2 MiB/2.6 GiB (19%)
|
||||||
|
```
|
||||||
|
|
||||||
|
After v0.24.1 it has many decimal places of precision:
|
||||||
|
|
||||||
|
```
|
||||||
|
Read disk 138.2265625 MiB/2.59765625 GiB (5%)
|
||||||
|
Read disk 265.6722106933594 MiB/2.59765625 GiB (9%)
|
||||||
|
Read disk 399.67578125 MiB/2.59765625 GiB (15%)
|
||||||
|
Read disk 519.40625 MiB/2.59765625 GiB (19%)
|
||||||
|
Read disk 597.5625 MiB/2.59765625 GiB (22%)
|
||||||
|
```
|
||||||
|
|
||||||
|
This is likely due to 68198d0. Let's get back the previous formatting.
|
||||||
|
---
|
||||||
|
docs/release-notes.md | 2 +-
|
||||||
|
src/download.rs | 6 +++---
|
||||||
|
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/docs/release-notes.md b/docs/release-notes.md
|
||||||
|
index 42b4974..19b8324 100644
|
||||||
|
--- a/docs/release-notes.md
|
||||||
|
+++ b/docs/release-notes.md
|
||||||
|
@@ -8,9 +8,9 @@ nav_order: 8
|
||||||
|
|
||||||
|
Major changes:
|
||||||
|
|
||||||
|
-
|
||||||
|
Minor changes:
|
||||||
|
|
||||||
|
+- Restore formatting of progress reporting to pre 0.24.0 behavior.
|
||||||
|
|
||||||
|
Internal changes:
|
||||||
|
|
||||||
|
diff --git a/src/download.rs b/src/download.rs
|
||||||
|
index f57fca3..e5b967c 100644
|
||||||
|
--- a/src/download.rs
|
||||||
|
+++ b/src/download.rs
|
||||||
|
@@ -456,9 +456,9 @@ impl<'a, R: Read> ProgressReader<'a, R> {
|
||||||
|
|
||||||
|
/// Format a size in bytes.
|
||||||
|
fn format_bytes(count: u64) -> String {
|
||||||
|
- Byte::from_u64(count)
|
||||||
|
- .get_appropriate_unit(byte_unit::UnitType::Binary)
|
||||||
|
- .to_string()
|
||||||
|
+ let adjusted_byte = Byte::from_u64(count).get_appropriate_unit(byte_unit::UnitType::Binary);
|
||||||
|
+ // Get a string trimmed to 1 decimal place of precision
|
||||||
|
+ format!("{adjusted_byte:.1}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.47.0
|
||||||
|
|
100
0002-rootmap-use-full-path-for-root-karg-when-rootfs-is-d.patch
Normal file
100
0002-rootmap-use-full-path-for-root-karg-when-rootfs-is-d.patch
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
From 408459f9af84add0c0e5ab0db1657c8bc7d0a6a5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nikita Dubrovskii <nikita@linux.ibm.com>
|
||||||
|
Date: Wed, 9 Jul 2025 09:02:07 +0200
|
||||||
|
Subject: [PATCH] rootmap: use full path for 'root=' karg when rootfs is
|
||||||
|
directly on multipath
|
||||||
|
|
||||||
|
Issue: https://github.com/coreos/fedora-coreos-tracker/issues/1980
|
||||||
|
|
||||||
|
This was first observed on s390x builders under high system load, where `ext.config.multipath.resilient`
|
||||||
|
would intermittently fail during subsequent boot:
|
||||||
|
```
|
||||||
|
[ 2.781559] multipathd[321]: sdd [8:48]: path added to devmap 0xcadf6fadb3ee446d
|
||||||
|
[ 2.853163] multipathd[321]: sdb [8:16]: path added to devmap 0x000000000000000b
|
||||||
|
[ 3.012431] systemd[1]: Reached target coreos-multipath-wait.target - CoreOS Wait For Multipathed Boot.
|
||||||
|
[ 3.139605] systemd[1]: Mounting sysroot.mount - /sysroot...
|
||||||
|
[ 3.450666] mount[806]: mount: /sysroot: fsconfig system call failed: /dev/sdd4: Can't open blockdev.
|
||||||
|
```
|
||||||
|
|
||||||
|
It looks like a race condition between multipathd taking ownership of the root device and systemd trying to
|
||||||
|
mount /sysroot. This might happen because the udev database isn't ready in time.
|
||||||
|
|
||||||
|
Signed-off-by: Nikita Dubrovskii <nikita@linux.ibm.com>
|
||||||
|
(cherry picked from commit 33a67caa6fd7291c69c1b502d986707bd0d55e23)
|
||||||
|
---
|
||||||
|
docs/release-notes.md | 5 +++++
|
||||||
|
src/bin/rdcore/rootmap.rs | 28 ++++++++++++++++++++++++----
|
||||||
|
2 files changed, 29 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/docs/release-notes.md b/docs/release-notes.md
|
||||||
|
index 32ee5b8..19e89f3 100644
|
||||||
|
--- a/docs/release-notes.md
|
||||||
|
+++ b/docs/release-notes.md
|
||||||
|
@@ -14,6 +14,11 @@ Minor changes:
|
||||||
|
|
||||||
|
Internal changes:
|
||||||
|
|
||||||
|
+- Add initial TMT tests and a new workflow to execute tests on PRs
|
||||||
|
+- Use release profile for smaller binaries in CI testing
|
||||||
|
+- Support cryptsetup-2.8.0's UUIDs naming of dm-integrity devices
|
||||||
|
+- rootmap: Inject `root=/dev/disk/by-uuid/dm-mpath-$UUID` when on multipath
|
||||||
|
+
|
||||||
|
Packaging changes:
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/bin/rdcore/rootmap.rs b/src/bin/rdcore/rootmap.rs
|
||||||
|
index 43b466c..7aff0bd 100644
|
||||||
|
--- a/src/bin/rdcore/rootmap.rs
|
||||||
|
+++ b/src/bin/rdcore/rootmap.rs
|
||||||
|
@@ -41,6 +41,8 @@ pub fn rootmap(config: RootmapConfig) -> Result<()> {
|
||||||
|
|
||||||
|
// and from that we can collect all the parent backing devices too
|
||||||
|
let mut backing_devices = get_blkdev_deps_recursing(&device)?;
|
||||||
|
+ // check if device's parent (last in the list) is a mpath device
|
||||||
|
+ let on_multipath = is_on_multipath(&backing_devices)?;
|
||||||
|
backing_devices.push(device);
|
||||||
|
|
||||||
|
// for each of those, convert them to kargs
|
||||||
|
@@ -51,13 +53,22 @@ pub fn rootmap(config: RootmapConfig) -> Result<()> {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // use full path when the rootfs is directly on multipath;
|
||||||
|
+ // this prevents race condition between systemd's autogenerated sysroot.mount and multipathd/udev,
|
||||||
|
+ // see also: https://github.com/coreos/fedora-coreos-tracker/issues/1980
|
||||||
|
+ let root = if on_multipath {
|
||||||
|
+ // https://github.com/coreos/fedora-coreos-config/blob/testing-devel/overlay.d/05core/usr/lib/udev/rules.d/90-coreos-device-mapper.rules#L25
|
||||||
|
+ format!(
|
||||||
|
+ "root=/dev/disk/by-uuid/dm-mpath-{}",
|
||||||
|
+ physical_mount.get_filesystem_uuid()?
|
||||||
|
+ )
|
||||||
|
+ } else {
|
||||||
|
+ format!("root=UUID={}", physical_mount.get_filesystem_uuid()?)
|
||||||
|
+ };
|
||||||
|
// we push the root kargs last, this has the nice property that the final order of kargs goes
|
||||||
|
// from lowest level to highest; see also
|
||||||
|
// https://github.com/coreos/fedora-coreos-tracker/issues/465
|
||||||
|
- kargs.push(format!(
|
||||||
|
- "root=UUID={}",
|
||||||
|
- physical_mount.get_filesystem_uuid()?
|
||||||
|
- ));
|
||||||
|
+ kargs.push(root);
|
||||||
|
|
||||||
|
// we need this because with root= it's systemd that takes care of mounting via
|
||||||
|
// systemd-fstab-generator, and it defaults to read-only otherwise
|
||||||
|
@@ -307,3 +318,12 @@ fn write_boot_uuid_grub2_dropin<P: AsRef<Path>>(uuid: &str, p: P) -> Result<()>
|
||||||
|
std::fs::write(p, format!("set BOOT_UUID=\"{uuid}\"\n"))
|
||||||
|
.with_context(|| format!("writing {}", p.display()))
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+fn is_on_multipath(backing_devices: &[PathBuf]) -> Result<bool> {
|
||||||
|
+ let blkinfo = match backing_devices.last() {
|
||||||
|
+ Some(p) => lsblk_single(p)?,
|
||||||
|
+ _ => return Ok(false),
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+ Ok(blkinfo.get("TYPE").is_some_and(|t| t == "mpath"))
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.47.1
|
||||||
|
|
3
README.md
Normal file
3
README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# rust-coreos-installer
|
||||||
|
|
||||||
|
The rust-coreos-installer package
|
3
README.packit
Normal file
3
README.packit
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
This repository is maintained by packit.
|
||||||
|
https://packit.dev/
|
||||||
|
The file was generated using packit 0.99.0.post1.dev18+g4850a935.
|
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-9
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
3
rpminspect.yaml
Normal file
3
rpminspect.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
inspections:
|
||||||
|
annocheck: off
|
@ -11,8 +11,8 @@
|
|||||||
%global crate coreos-installer
|
%global crate coreos-installer
|
||||||
|
|
||||||
Name: rust-%{crate}
|
Name: rust-%{crate}
|
||||||
Version: 0.23.0
|
Version: 0.24.0
|
||||||
Release: 1%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: Installer for Fedora CoreOS and RHEL CoreOS
|
Summary: Installer for Fedora CoreOS and RHEL CoreOS
|
||||||
|
|
||||||
# Upstream license specification: Apache-2.0
|
# Upstream license specification: Apache-2.0
|
||||||
@ -23,6 +23,11 @@ Source0: https://crates.io/api/v1/crates/%{crate}/%{version}/download#/%{
|
|||||||
Source1: https://github.com/coreos/%{crate}/releases/download/v%{version}/%{crate}-%{version}-vendor.tar.gz
|
Source1: https://github.com/coreos/%{crate}/releases/download/v%{version}/%{crate}-%{version}-vendor.tar.gz
|
||||||
Source2: https://github.com/coreos/coreos-installer-dracut/archive/%{dracutcommit}/coreos-installer-dracut-%{dracutshortcommit}.tar.gz
|
Source2: https://github.com/coreos/coreos-installer-dracut/archive/%{dracutcommit}/coreos-installer-dracut-%{dracutshortcommit}.tar.gz
|
||||||
|
|
||||||
|
# https://github.com/coreos/coreos-installer/pull/1654
|
||||||
|
Patch0: 0001-download-format-byte-unit-with-1-decimal-place-preci.patch
|
||||||
|
# https://github.com/coreos/coreos-installer/pull/1677
|
||||||
|
Patch1: 0002-rootmap-use-full-path-for-root-karg-when-rootfs-is-d.patch
|
||||||
|
|
||||||
ExclusiveArch: %{rust_arches}
|
ExclusiveArch: %{rust_arches}
|
||||||
%if 0%{?rhel} && !0%{?eln}
|
%if 0%{?rhel} && !0%{?eln}
|
||||||
BuildRequires: rust-toolset
|
BuildRequires: rust-toolset
|
||||||
@ -173,6 +178,17 @@ from the initramfs.
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 23 2025 Joel Capitao <jcapitao@redhat.com> - 0.24.0-3
|
||||||
|
- Use the full path for the 'root=' kernel arg when rootfs on mpath
|
||||||
|
Backport https://github.com/coreos/coreos-installer/pull/1677
|
||||||
|
|
||||||
|
* Fri Jul 18 2025 Aashish Radhakrishnan <aaradhak@redhat.com> - 0.24.0-2
|
||||||
|
- Restore single-decimal precision to stream output
|
||||||
|
Backport https://github.com/coreos/coreos-installer/pull/1654
|
||||||
|
|
||||||
|
* Wed Apr 16 2025 Joel Capitao <jcapitao@redhat.com> - 0.24.0-1
|
||||||
|
- Update to latest upstream
|
||||||
|
|
||||||
* Thu Nov 14 2024 Steven Presti <spresti@redhat.com> - 0.23.0-1
|
* Thu Nov 14 2024 Steven Presti <spresti@redhat.com> - 0.23.0-1
|
||||||
- new version
|
- new version
|
||||||
|
|
3
sources
Normal file
3
sources
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
SHA512 (coreos-installer-0.24.0.crate) = 4c18467daabb8bb66b1dd959dd0f392153648eaa7591df1e640b7aad5baac70dd269e4bd17f277463c55ca4e19d16b720b95a0ba0aa89920c0147c32f6b6e27b
|
||||||
|
SHA512 (coreos-installer-0.24.0-vendor.tar.gz) = edfc61e105e8fb68e66f3857f3f77037c5f34b9e1b3def5855fdf31fda03daefce78b802c42a96c3fdb9aee93918e8cc0f55a6b36c3056297a793ecacd53d344
|
||||||
|
SHA512 (coreos-installer-dracut-7181733.tar.gz) = a03e3e90f355690eda974335e2189c69837f7f0ceb456a449b2de6ce4b24ca098d3f0ea51ddcab35ab354a5070e4b0525188dfbbff8056cfc62bbcdded10647c
|
10
tests/tests.yml
Normal file
10
tests/tests.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
- hosts: localhost
|
||||||
|
roles:
|
||||||
|
- role: standard-test-basic
|
||||||
|
tags:
|
||||||
|
- classic
|
||||||
|
tests:
|
||||||
|
- simple:
|
||||||
|
dir: .
|
||||||
|
run: "coreos-installer --help"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user