public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Joseph Marrero Corchado <jmarrero@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/rpm-ostree] f44: Release 2026.2
Date: Mon, 08 Jun 2026 18:05:28 GMT [thread overview]
Message-ID: <178094192812.1.1133958149569730871.rpms-rpm-ostree-56d82cf2a9a5@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/rpm-ostree
Branch : f44
Commit : 56d82cf2a9a5831f050421b4af97e4b2ba9ff08f
Author : Joseph Marrero Corchado <jmarrero@redhat.com>
Date : 2026-06-08T13:39:04-04:00
Stats : +9/-529 in 5 file(s)
URL : https://src.fedoraproject.org/rpms/rpm-ostree/c/56d82cf2a9a5831f050421b4af97e4b2ba9ff08f?branch=f44
Log:
Release 2026.2
---
diff --git a/0001-Fix-silent-upgrade-failure-on-container-systems.patch b/0001-Fix-silent-upgrade-failure-on-container-systems.patch
deleted file mode 100644
index 12a3d42..0000000
--- a/0001-Fix-silent-upgrade-failure-on-container-systems.patch
+++ /dev/null
@@ -1,271 +0,0 @@
-From 242903283b8b7a94155099fd7ec4358446ed712f Mon Sep 17 00:00:00 2001
-From: Joseph Marrero Corchado <jmarrero@redhat.com>
-Date: Mon, 9 Mar 2026 16:54:45 -0400
-Subject: [PATCH] Fix silent upgrade failure on container systems
-
-PR #5510 introduced an early return for container-based deployments
-to handle idempotent package layering, but it failed to check whether
-the base image itself had changed. This caused `rpm-ostree upgrade`
-to silently return success without staging a new deployment.
-
-Fold `remove_changed` and `override_changed` into the `changed`
-variable so the early return only triggers when truly nothing changed.
-
-Also fix a related crash in `rpmostree_context_assemble()` when
-`--idempotent --apply-live` is used on a package already in the base
-image: the empty transaction path hit `g_assert_not_reached()` instead
-of returning through `rpmostree_context_assemble_end()`.
-
-Closes: https://github.com/coreos/rpm-ostree/issues/5567
-Fixes: 4d4196e2 ("rpmostreed-transaction-types: don't use base-db when idempotent")
-Assisted-by: Claude Opus 4.6 (OpenCode)
-Signed-off-by: Joseph Marrero Corchado <jmarrero@redhat.com>
----
- src/daemon/rpmostreed-transaction-types.cxx | 15 +-
- src/libpriv/rpmostree-core.cxx | 3 +
- .../kolainst/destructive/idempotent-layering | 139 +++++++++++++++---
- 3 files changed, 132 insertions(+), 25 deletions(-)
-
-diff --git a/src/daemon/rpmostreed-transaction-types.cxx b/src/daemon/rpmostreed-transaction-types.cxx
-index e2002b28..22edcde8 100644
---- a/src/daemon/rpmostreed-transaction-types.cxx
-+++ b/src/daemon/rpmostreed-transaction-types.cxx
-@@ -1592,16 +1592,17 @@ deploy_transaction_execute (RpmostreedTransaction *transaction, GCancellable *ca
- cancellable, error))
- return FALSE;
- changed = changed || layering_changed;
-+ /* Also fold in package removals and override resets so that the early
-+ * return below won't fire when those operations need a new deployment. */
-+ changed = changed || remove_changed || override_changed;
-
-- /* When using containers and nothing changed after prep_layering, return early.
-- * This happens when all requested packages are already present in the container image.
-+ /* When using containers and nothing changed, return early. This happens
-+ * when all requested packages are already present in the container image.
- * For idempotent mode, this avoids the "No packages in transaction" error.
-- * However, if packages were removed from the origin, or overrides were reset, we need to
-- * deploy to update the origin even if no layering is needed. Similarly, if we're rebasing
-- * (refspec) or deploying a specific revision, we need to deploy. */
-- const bool origin_changed = layering_changed || remove_changed || override_changed;
-+ * If we're rebasing (refspec) or deploying a specific revision, we also
-+ * need to continue to deploy. */
- const bool have_refspec_or_revision = self->refspec || self->revision;
-- if (skip_base_check && !origin_changed && !have_refspec_or_revision)
-+ if (skip_base_check && !changed && !have_refspec_or_revision)
- return TRUE;
-
- if (dry_run)
-diff --git a/src/libpriv/rpmostree-core.cxx b/src/libpriv/rpmostree-core.cxx
-index 5ef1d677..e944d909 100644
---- a/src/libpriv/rpmostree-core.cxx
-+++ b/src/libpriv/rpmostree-core.cxx
-@@ -4240,6 +4240,9 @@ rpmostree_context_assemble (RpmOstreeContext *self, GCancellable *cancellable, G
- {
- if (!self->allow_empty_transaction)
- return glnx_throw (error, "No packages in transaction");
-+ /* Empty transaction is allowed (e.g. idempotent layering where packages are already
-+ * in the base image). Skip package assembly and just run the final transformations. */
-+ return rpmostree_context_assemble_end (self, cancellable, error);
- }
-
- /* Sort the packages as rpmtsOrder() only reorder to satisfy dependencies
-diff --git a/tests/kolainst/destructive/idempotent-layering b/tests/kolainst/destructive/idempotent-layering
-index ae876d28..3b2ca9b9 100755
---- a/tests/kolainst/destructive/idempotent-layering
-+++ b/tests/kolainst/destructive/idempotent-layering
-@@ -1,13 +1,15 @@
- #!/bin/bash
- ## kola:
- ## # Increase timeout since this test involves rebasing, container operations,
--## # and kernel override/reset which requires additional reboots
--## timeoutMin: 30
-+## # kernel override/reset, and upgrade tests which require additional reboots
-+## timeoutMin: 45
- ## # This test only runs on FCOS
- ## distros: fcos
- ## # Needs internet access for package installation and koji access
- ## tags: "needs-internet platform-independent"
- ## minMemory: 2048
-+## # Need extra disk for multiple container builds and ostree deployments
-+## minDisk: 20
- #
- # Copyright (C) 2025 Red Hat, Inc.
- #
-@@ -55,26 +57,36 @@ esac
- image_dir=/var/tmp/fcos
- image=oci:$image_dir
-
--case "${AUTOPKGTEST_REBOOT_MARK:-}" in
-- "")
-- checksum=$(rpm-ostree status --json | jq -r '.deployments[0].checksum')
-- rm -rf "${image_dir}"
-- # Since we're switching OS update stream, turn off zincati
-- systemctl mask --now zincati
-- ostree container encapsulate --repo=/ostree/repo ${checksum} "${image}" --label ostree.bootable=TRUE
-+# Helper function to build a derived container image with a version label.
-+# This encapsulates the current ostree commit into a container image,
-+# adds vim-enhanced to the base, and tags it with the given version.
-+# Usage: build_derived_image <version_label>
-+build_derived_image() {
-+ local version_label="${1}"
-+
-+ local checksum
-+ checksum=$(rpm-ostree status --json | jq -r '.deployments[0].checksum')
-+ rm -rf "${image_dir}"
-+ ostree container encapsulate --repo=/ostree/repo "${checksum}" \
-+ "${image}" --label ostree.bootable=TRUE
-+
-+ skopeo copy "${image}" containers-storage:localhost/fcos
-+ rm -rf "${image_dir}"
-
-- skopeo copy $image containers-storage:localhost/fcos
-- rm -rf "${image_dir}"
-- td=$(mktemp -d)
-- cd ${td}
--cat > Containerfile << EOF
-+ local td
-+ td=$(mktemp -d)
-+ (
-+ cd "${td}"
-+
-+ cat > Containerfile << EOF
- FROM localhost/fcos
--# Pre-install vim in the container image
- RUN dnf install -y vim-enhanced
-+LABEL org.opencontainers.image.version "${version_label}"
- EOF
-
-- touched_resolv_conf=0
-+ local touched_resolv_conf=0
- if test '!' -f /etc/resolv.conf; then
-+ local podmanv
- podmanv=$(podman --version)
- case "${podmanv#podman version }" in
- 3.*) touched_resolv_conf=1; touch /etc/resolv.conf;;
-@@ -84,9 +96,19 @@ EOF
- if test "${touched_resolv_conf}" -eq 1; then
- rm -vf /etc/resolv.conf
- fi
-+ )
-+ rm -rf "${td}"
-+}
-+
-+case "${AUTOPKGTEST_REBOOT_MARK:-}" in
-+ "")
-+ # Since we're switching OS update stream, turn off zincati
-+ systemctl mask --now zincati
-+
-+ # Build initial derived image with version 1
-+ build_derived_image 1
-
- rpm-ostree rebase ostree-unverified-image:containers-storage:localhost/fcos-derived
-- rm -rf "$image_dir"
-
- /tmp/autopkgtest-reboot 1
- ;;
-@@ -102,13 +124,24 @@ EOF
-
-
- # Test 2: Install with --unchanged-exit-77 should exit with 77
-+ # Note: --idempotent is needed because Test 1 already added vim-enhanced to requested-packages
- set +e
-- rpm-ostree install --allow-inactive --apply-live --unchanged-exit-77 -y vim-enhanced 2>&1 | tee out.txt
-+ rpm-ostree install --allow-inactive --idempotent --apply-live --unchanged-exit-77 -y vim-enhanced 2>&1 | tee out.txt
- rc=$?
- set -e
- assert_streq "${rc}" "77"
- echo "ok unchanged-exit-77 for existing package"
-
-+ # Test 2.5: Install without --idempotent when package is already requested
-+ # Should fail gracefully with "already requested" error, not crash
-+ set +e
-+ rpm-ostree install --allow-inactive --apply-live --unchanged-exit-77 -y vim-enhanced 2>&1 | tee out.txt
-+ rc=$?
-+ set -e
-+ assert_streq "${rc}" "1"
-+ assert_file_has_content out.txt "already requested"
-+ echo "ok install without --idempotent correctly rejects already-requested package"
-+
- # Test 3: Install with both --idempotent and --unchanged-exit-77
- set +e
- rpm-ostree install --allow-inactive --idempotent --apply-live --unchanged-exit-77 -y vim-enhanced
-@@ -162,6 +195,76 @@ EOF
- rpmostree_assert_status '.deployments[0]["base-local-replacements"]|length == 0'
- echo "ok override reset --all on container-based deployment"
-
-+ /tmp/autopkgtest-reboot 4
-+ ;;
-+ 4)
-+ # Test 7: Upgrade with layered packages on container-based deployment
-+ # This tests that rpm-ostree upgrade properly stages a new deployment
-+ # when a new base container image is available (with layered packages).
-+ # This is a regression test for https://github.com/coreos/rpm-ostree/issues/5567
-+
-+ # Verify current state: tmux is layered, no overrides
-+ rpm -q tmux
-+ rpm -q vim-enhanced
-+ rpmostree_assert_status '.deployments[0]["base-local-replacements"]|length == 0'
-+ rpmostree_assert_status '.deployments[0]["requested-packages"]|length > 0'
-+ echo "Verified: tmux is layered, no overrides remain"
-+
-+ # Build a new version of the container image (version 2)
-+ # This simulates a new upstream image becoming available
-+ build_derived_image 2
-+
-+ # Run rpm-ostree upgrade - this should stage a new deployment
-+ rpm-ostree upgrade
-+
-+ # Verify that a new deployment was staged
-+ rpmostree_assert_status '.deployments|length >= 2'
-+ rpmostree_assert_status '.deployments[0].staged == true'
-+ # Verify the version changed to confirm the new image was deployed
-+ rpmostree_assert_status '.deployments[0].version == "2"'
-+ echo "ok upgrade with layered packages on container-based deployment"
-+
-+ /tmp/autopkgtest-reboot 5
-+ ;;
-+ 5)
-+ # Test 8: Upgrade WITHOUT layered packages on container-based deployment
-+ # This is the EXACT scenario from https://github.com/coreos/rpm-ostree/issues/5567
-+ # A container-based system with NO layered packages should still properly
-+ # stage a new deployment when a new base image is available.
-+
-+ # First, remove any leftover layered package requests from previous phases.
-+ # tmux and vim-enhanced are inactive (already in base), so we clean up
-+ # all pending requests to get a pristine container-based deployment.
-+ rpm-ostree cleanup -p
-+ rpm-ostree reset
-+
-+ # Verify current state: no layered packages
-+ rpm -q vim-enhanced
-+ rpmostree_assert_status '(.deployments[0]["requested-packages"] // []) | length == 0'
-+ rpmostree_assert_status '(.deployments[0]["requested-local-packages"] // []) | length == 0'
-+ echo "Verified: no layered packages, clean container-based deployment"
-+
-+ # Build another new version of the container image (version 3)
-+ build_derived_image 3
-+
-+ # Run rpm-ostree upgrade - this MUST stage a new deployment
-+ # Before the fix for #5567, this would silently return success without deploying
-+ rpm-ostree upgrade
-+
-+ # Verify that a new deployment was staged (not silently returned)
-+ rpmostree_assert_status '.deployments|length >= 2'
-+ rpmostree_assert_status '.deployments[0].staged == true'
-+ # Verify the version changed to confirm the new image was deployed
-+ rpmostree_assert_status '.deployments[0].version == "3"'
-+ echo "ok upgrade without layered packages on container-based deployment"
-+
-+ # Also verify that running upgrade again correctly reports no change
-+ # (test the "already up to date" path still works)
-+ rc=0
-+ rpm-ostree upgrade --unchanged-exit-77 || rc=$?
-+ assert_streq "${rc}" "77"
-+ echo "ok upgrade --unchanged-exit-77 reports no change when already up to date"
-+
- ;;
- *) echo "unexpected mark: ${AUTOPKGTEST_REBOOT_MARK}"; exit 1;;
- esac
---
-2.52.0
-
diff --git a/0001-deploy-Print-status-message-on-container-early-retur.patch b/0001-deploy-Print-status-message-on-container-early-retur.patch
deleted file mode 100644
index ef03edf..0000000
--- a/0001-deploy-Print-status-message-on-container-early-retur.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From a194bf53752b5884ef21785c0ee08fc022df7390 Mon Sep 17 00:00:00 2001
-From: Joseph Marrero Corchado <jmarrero@redhat.com>
-Date: Thu, 19 Mar 2026 12:40:33 -0400
-Subject: [PATCH] deploy: Print status message on container early-return path
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Commit 24290328 ("Fix silent upgrade failure on container systems")
-fixed the case where an upgrade with a *new* base image was silently
-skipped, but introduced a subtler regression: when there is *no* update
-available on a container-based system, the early return at the
-skip_base_check path exits without printing any message. The user sees
-exit code 0 and no output, which is confusing—on traditional ostree
-systems the same scenario prints "No upgrade available.".
-
-The root cause is that the early return added for the idempotent
-layering optimization fires for all container-based transactions when
-nothing changed, not just idempotent installs. On the normal (non-
-container) path, skip_base_check is FALSE, so the flow reaches the
-message-printing code at the end of deploy_transaction_execute().
-On container systems it short-circuits before that.
-
-Fix this by emitting the appropriate "No upgrade available." or
-"No change." message before the early return, matching the messages
-used in the normal no-change path. Add a regression test that
-verifies the message is printed on a container-based system.
-
-Closes: https://github.com/coreos/rpm-ostree/issues/5574
-
-Assisted-by: Claude Opus 4.6 (OpenCode)
-Signed-off-by: Joseph Marrero Corchado <jmarrero@redhat.com>
----
- src/daemon/rpmostreed-transaction-types.cxx | 8 +++++++-
- tests/kolainst/destructive/idempotent-layering | 8 ++++++++
- 2 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/src/daemon/rpmostreed-transaction-types.cxx b/src/daemon/rpmostreed-transaction-types.cxx
-index 22edcde8..d60d70d4 100644
---- a/src/daemon/rpmostreed-transaction-types.cxx
-+++ b/src/daemon/rpmostreed-transaction-types.cxx
-@@ -1603,7 +1603,13 @@ deploy_transaction_execute (RpmostreedTransaction *transaction, GCancellable *ca
- * need to continue to deploy. */
- const bool have_refspec_or_revision = self->refspec || self->revision;
- if (skip_base_check && !changed && !have_refspec_or_revision)
-- return TRUE;
-+ {
-+ if (is_upgrade)
-+ rpmostree_output_message ("No upgrade available.");
-+ else
-+ rpmostree_output_message ("No change.");
-+ return TRUE;
-+ }
-
- if (dry_run)
- /* Note early return here; we printed the transaction already */
-diff --git a/tests/kolainst/destructive/idempotent-layering b/tests/kolainst/destructive/idempotent-layering
-index 3b2ca9b9..4f4ad411 100755
---- a/tests/kolainst/destructive/idempotent-layering
-+++ b/tests/kolainst/destructive/idempotent-layering
-@@ -265,6 +265,14 @@ case "${AUTOPKGTEST_REBOOT_MARK:-}" in
- assert_streq "${rc}" "77"
- echo "ok upgrade --unchanged-exit-77 reports no change when already up to date"
-
-+ # Test 9: Verify upgrade prints "No upgrade available." when already up to date
-+ # Regression test for https://github.com/coreos/rpm-ostree/issues/5574
-+ # Before this fix, container-based systems would exit silently with code 0
-+ # without printing any message when no upgrade was available.
-+ rpm-ostree upgrade 2>&1 | tee upgrade-output.txt
-+ assert_file_has_content upgrade-output.txt "No upgrade available."
-+ echo "ok upgrade prints 'No upgrade available.' on container-based system"
-+
- ;;
- *) echo "unexpected mark: ${AUTOPKGTEST_REBOOT_MARK}"; exit 1;;
- esac
---
-2.53.0
-
diff --git a/0001-rpmostreed-transaction-types-fix-override-reset.patch b/0001-rpmostreed-transaction-types-fix-override-reset.patch
deleted file mode 100644
index d67f083..0000000
--- a/0001-rpmostreed-transaction-types-fix-override-reset.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From 993f2f8277ca01a5167e02f46ac6a962c98a3a12 Mon Sep 17 00:00:00 2001
-From: Joseph Marrero Corchado <jmarrero@redhat.com>
-Date: Wed, 28 Jan 2026 17:02:10 -0500
-Subject: [PATCH] rpmostreed-transaction-types: fix override reset
-
-PR #5510 introduced an early return optimization for container-based
-deployments to handle idempotent package layering. However, this early
-return checked only `remove_changed` (package removals) and not override
-changes, causing `rpm-ostree override reset --all` to silently return
-without staging a new deployment on container-based systems.
-
-The issue occurs because:
-1. `skip_base_check` is TRUE for container-based ostree hosts
-2. `no_overrides` (the -a flag) sets `changed = TRUE` but not `remove_changed`
-3. The early return condition `!remove_changed` was satisfied, skipping deployment
-
-This fix adds an `override_changed` tracking variable that is set when
-overrides are reset, and includes it in the early return condition. Now
-when `rpm-ostree override reset --all` is called, the deployment is
-properly staged.
-
-Also extends the idempotent-layering test to cover this scenario:
-- Performs a kernel override on a container-based deployment
-- Tests that `override reset --all` properly stages a new deployment
-- Verifies the pending deployment has no overrides
-
-This would have caught the regression introduced in PR #5510.
-
-Fixes: https://github.com/coreos/rpm-ostree/pull/5510
-Assisted-by: Claude (OpenCode)
-Signed-off-by: Joseph Marrero Corchado <jmarrero@redhat.com>
----
- src/daemon/rpmostreed-transaction-types.cxx | 17 ++++--
- .../kolainst/destructive/idempotent-layering | 59 ++++++++++++++++++-
- 2 files changed, 68 insertions(+), 8 deletions(-)
-
-diff --git a/src/daemon/rpmostreed-transaction-types.cxx b/src/daemon/rpmostreed-transaction-types.cxx
-index 9937d4dd..e2002b28 100644
---- a/src/daemon/rpmostreed-transaction-types.cxx
-+++ b/src/daemon/rpmostreed-transaction-types.cxx
-@@ -1194,6 +1194,7 @@ deploy_transaction_execute (RpmostreedTransaction *transaction, GCancellable *ca
-
- gboolean changed = FALSE;
- gboolean remove_changed = FALSE;
-+ gboolean override_changed = FALSE;
- if (no_initramfs
- && (rpmostree_origin_get_regenerate_initramfs (origin)
- || rpmostree_origin_has_initramfs_etc_files (origin)))
-@@ -1329,7 +1330,10 @@ deploy_transaction_execute (RpmostreedTransaction *transaction, GCancellable *ca
- if (no_overrides)
- {
- if (rpmostree_origin_remove_all_overrides (origin))
-- changed = TRUE;
-+ {
-+ changed = TRUE;
-+ override_changed = TRUE;
-+ }
- }
- else if (override_reset_pkgs || override_replace_local_pkgs)
- {
-@@ -1463,6 +1467,7 @@ deploy_transaction_execute (RpmostreedTransaction *transaction, GCancellable *ca
- }
- }
- changed = TRUE;
-+ override_changed = TRUE;
- }
- auto treefile = (const char *)vardict_lookup_ptr (self->modifiers, "treefile", "&s");
- if (treefile && !rpmostree_origin_merge_treefile (origin, treefile, &changed, error))
-@@ -1591,10 +1596,12 @@ deploy_transaction_execute (RpmostreedTransaction *transaction, GCancellable *ca
- /* When using containers and nothing changed after prep_layering, return early.
- * This happens when all requested packages are already present in the container image.
- * For idempotent mode, this avoids the "No packages in transaction" error.
-- * However, if packages were removed from the origin, we need to deploy to update the origin
-- * even if no layering is needed. Similarly, if we're rebasing (refspec) or deploying a
-- * specific revision, we need to deploy. */
-- if (skip_base_check && !layering_changed && !remove_changed && !self->refspec && !self->revision)
-+ * However, if packages were removed from the origin, or overrides were reset, we need to
-+ * deploy to update the origin even if no layering is needed. Similarly, if we're rebasing
-+ * (refspec) or deploying a specific revision, we need to deploy. */
-+ const bool origin_changed = layering_changed || remove_changed || override_changed;
-+ const bool have_refspec_or_revision = self->refspec || self->revision;
-+ if (skip_base_check && !origin_changed && !have_refspec_or_revision)
- return TRUE;
-
- if (dry_run)
-diff --git a/tests/kolainst/destructive/idempotent-layering b/tests/kolainst/destructive/idempotent-layering
-index 344a59ae..ae876d28 100755
---- a/tests/kolainst/destructive/idempotent-layering
-+++ b/tests/kolainst/destructive/idempotent-layering
-@@ -1,10 +1,11 @@
- #!/bin/bash
- ## kola:
--## # Increase timeout since this test involves rebasing and container operations
--## timeoutMin: 20
-+## # Increase timeout since this test involves rebasing, container operations,
-+## # and kernel override/reset which requires additional reboots
-+## timeoutMin: 30
- ## # This test only runs on FCOS
- ## distros: fcos
--## # Needs internet access for package installation
-+## # Needs internet access for package installation and koji access
- ## tags: "needs-internet platform-independent"
- ## minMemory: 2048
- #
-@@ -33,6 +34,23 @@ set -x
-
- cd "$(mktemp -d)"
-
-+# Get Fedora version and set up kernel override URLs
-+. /etc/os-release
-+case "$VERSION_ID" in
-+ 42)
-+ koji_kernel_url="https://koji.fedoraproject.org/koji/buildinfo?buildID=2693809"
-+ kernel_release=6.14.1-300.fc42.x86_64
-+ ;;
-+ 43)
-+ koji_kernel_url="https://koji.fedoraproject.org/koji/buildinfo?buildID=2837146"
-+ kernel_release=6.17.1-300.fc43.x86_64
-+ ;;
-+ *)
-+ echo "Unsupported Fedora version: $VERSION_ID"
-+ exit 1
-+ ;;
-+esac
-+
- # TODO: It'd be much better to test this via a registry
- image_dir=/var/tmp/fcos
- image=oci:$image_dir
-@@ -109,6 +127,41 @@ EOF
- rpm -q vim-enhanced
- echo "ok idempotent install of new package"
-
-+ # Test 5: Override kernel on container-based deployment
-+ # This tests that override replace works on container-based systems
-+ current_kernel=$(uname -r)
-+ echo "Current kernel: ${current_kernel}"
-+
-+ # Fail if already on target kernel - we need to test the override/reset flow
-+ if [[ "${current_kernel}" == "${kernel_release}" ]]; then
-+ fatal "Cannot test kernel override: current kernel ${current_kernel} already matches target ${kernel_release}"
-+ fi
-+ rpm-ostree override replace "${koji_kernel_url}"
-+ rpmostree_assert_status '.deployments[0]["base-local-replacements"]|length > 0'
-+ echo "ok kernel override on container-based deployment"
-+
-+ /tmp/autopkgtest-reboot 3
-+ ;;
-+ 3)
-+ # Verify override was applied
-+ current_kernel=$(uname -r)
-+ echo "Current kernel after reboot: ${current_kernel}"
-+
-+ # Test 6: Override reset --all on container-based deployment
-+ # This is the critical test that was broken - override reset -a should
-+ # actually stage a new deployment, not silently do nothing
-+ echo "Testing override reset --all on container-based deployment..."
-+
-+ rpm-ostree override reset --all
-+
-+ # Verify that a new deployment was staged (not just silently returned)
-+ # The pending deployment should have no overrides
-+ # Note: We check >= 2 because ostree may keep additional rollback deployments
-+ rpmostree_assert_status '.deployments|length >= 2'
-+ rpmostree_assert_status '.deployments[0].staged == true'
-+ rpmostree_assert_status '.deployments[0]["base-local-replacements"]|length == 0'
-+ echo "ok override reset --all on container-based deployment"
-+
- ;;
- *) echo "unexpected mark: ${AUTOPKGTEST_REBOOT_MARK}"; exit 1;;
- esac
---
-2.52.0
-
diff --git a/rpm-ostree.spec b/rpm-ostree.spec
index 14d1146..a359ae1 100644
--- a/rpm-ostree.spec
+++ b/rpm-ostree.spec
@@ -3,7 +3,7 @@
Summary: Hybrid image/package system
Name: rpm-ostree
-Version: 2026.1
+Version: 2026.2
Release: %{autorelease}
License: LGPL-2.0-or-later
URL: https://github.com/coreos/rpm-ostree
@@ -11,10 +11,6 @@ URL: https://github.com/coreos/rpm-ostree
# in the upstream git. It also contains vendored Rust sources.
Source0: https://github.com/coreos/rpm-ostree/releases/download/v%{version}/rpm-ostree-%{version}.tar.xz
-Patch0: 0001-rpmostreed-transaction-types-fix-override-reset.patch
-Patch1: 0001-Fix-silent-upgrade-failure-on-container-systems.patch
-Patch2: 0001-deploy-Print-status-message-on-container-early-retur.patch
-
# See https://github.com/coreos/fedora-coreos-tracker/issues/1716
# ostree not on i686 for RHEL 10
# https://github.com/containers/composefs/pull/229#issuecomment-1838735764
@@ -38,7 +34,7 @@ BuildRequires: rust
# Don't add the ostree-container binaries; this version
# conditional needs to be kept in sync with the bootc one.
-%if 0%{?rhel} >= 10 || 0%{?fedora} > 41
+%if 0%{?rhel} >= 9 || 0%{?fedora} > 41
%bcond_with ostree_ext
%else
%bcond_without ostree_ext
@@ -110,7 +106,13 @@ BuildRequires: jq
%global libsolv_version 0.7.21
%global libmodulemd_version 2.13.0
+# librepo version differs across distros
+# Fedora / CS10 / RHEL10: librepo ≥ 1.18 is available
+%if 0%{?fedora} || 0%{?rhel} >= 10
%global librepo_version 1.18.0
+%else
+%global librepo_version 1.14.0
+%endif
BuildRequires: cmake >= 3.5.0
BuildRequires: gcc
diff --git a/sources b/sources
index 3328560..b555fd7 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (rpm-ostree-2026.1.tar.xz) = f18b91d54a543eee63f71c5116053facd8a298a1b82ed54812b6948a9ff119d39b1f4605b6188bd09670198706094559e8c84c7103095fa770a9fdada1a236fb
+SHA512 (rpm-ostree-2026.2.tar.xz) = 1b1ed43cff158bb5121202d6dfdf1768bc4ee2d7174573f20199f8a4148d3775e8cebde64e6330f3fa3ed905f865bfc9a8f3ba16ac14d964f43a016138f7225d
reply other threads:[~2026-06-08 18:05 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178094192812.1.1133958149569730871.rpms-rpm-ostree-56d82cf2a9a5@fedoraproject.org \
--to=jmarrero@redhat.com \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox