public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/rpm-ostree] f44: Release 2026.2
@ 2026-06-08 18:05 Joseph Marrero Corchado
  0 siblings, 0 replies; only message in thread
From: Joseph Marrero Corchado @ 2026-06-08 18:05 UTC (permalink / raw)
  To: git-commits

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

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-08 18:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-08 18:05 [rpms/rpm-ostree] f44: Release 2026.2 Joseph Marrero Corchado

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox