Skip to content

F43→F44 rebase fails: desktop-backgrounds-compat "default-dark.jxl: File exists" (base ships unowned branding symlink over an RPM-owned path) #2677

Description

@weareua

Description

Upgrading from Fedora 43 to the current Fedora 44 aurora:stable fails during
deployment assembly with a file conflict, whenever desktop-backgrounds-compat
is present (it is pulled in by base packages sddm and sddm-breeze, so this
affects any system with layered packages that trigger a clean re-checkout):

  error: Checkout desktop-backgrounds-compat-44.0.0-2.fc44.noarch: Hardlinking
  c5/7cbaa578f868dfc446e9b85c925a687f8c7c70448da727075aa0a7d58ed8ae.file to
  default-dark.jxl: File exists

This is the same error incidentally reported in #2368 (identical object hash),
which was closed as a login-theming question — the file conflict itself was
never triaged.

Root cause

Two different sources claim /usr/share/backgrounds/default-dark.jxl:

  1. The aurora base image overlays it as a symlink
    aurora/aurora-wallpaper-12/contents/images/3840x2160.jxl. The
    /usr/share/backgrounds/aurora/ directory is not owned by any RPM
    (rpm -qf reports "not owned by any package"), i.e. it's injected at
    container-build time.
  2. The Fedora desktop-backgrounds-compat RPM owns that same path as a
    real file.

At image-build time this is masked by last-writer-wins (the symlink wins). But a
major F43→F44 rebase forces rpm-ostree to do a clean per-package checkout: the
base symlink is laid down first, then desktop-backgrounds-compat's real file
collides with it → File exists, aborting the whole deployment.

Why it can't be worked around client-side

desktop-backgrounds-compat is hard-required by base components — sddm,
sddm-breeze, and lxqt-wayland-session — so
rpm-ostree override remove desktop-backgrounds-compat fails to depsolve:

  Problem: package sddm-breeze-6.6.4-1.fc43.noarch from @System requires
  desktop-backgrounds-compat, but none of the providers can be installed

Cleaning stale ostree state (rpm-ostree cleanup -pbrm, ostree admin cleanup)
does not help — this is not leftover state.

Suggested fix (base image)

Reconcile the branding wallpaper with the RPM-owned path, e.g.:

  • ship the aurora wallpaper symlink at a path not owned by
    desktop-backgrounds-compat, or
  • mark/replace the conflicting desktop-backgrounds-compat files (e.g. via a
    branding package that Obsoletes/overrides them, or %ghost), so a clean
    rpm-ostree checkout doesn't see two owners of default-dark.jxl.

Environment

  • Aurora aurora:stable, upgrading 43.20260508.144.20260804.1
  • rpm-ostree 2026.1
  • Conflict package: desktop-backgrounds-compat-44.0.0-2.fc44.noarch
  • Reproducible: 100% on sudo rpm-ostree upgrade

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions