Can't reset override with remote repo gone and some dependency issue
Opened this issue · 1 comments
Describe the bug
Because of wish to provide data for SSSD/sssd#7027, I was keeping a copr override for a PR there which recently expired. This repo now 404s. One package in its installed version depends on a library from that now-gone repo (I suppose it's stuck at the older version, with new version having to be pulled together with the override reset to resolve the dependencies).
Reproduction steps
- have some overrides from external repo
- have a pkg depending on overriding library
- try to reset the override
Expected behavior
There is some discoverable way how to get the system out of this state
Actual behavior
Packages get essentially stuck at current versions due to the external repo unavailability, no obvious transaction works (see below).
System details
rpm-ostree status --booted
State: idle
AutomaticUpdates: check; rpm-ostreed-automatic.timer: inactive
BootedDeployment:
● fedora:fedora/39/x86_64/silverblue
Version: 39.20240109.0 (2024-01-09T00:39:19Z)
BaseCommit: b05d82040ec4f6def0ef2ea58374cd7d0f98ee4a70b55da7997a83e8d799eb22
GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C
LocalOverrides: wireless-regdb 2023.05.03-2.fc39 -> 2022.06.06-2.fc37
RemoteOverrides: repo=copr:copr.fedorainfracloud.org:group_sssd:pr7034
├─ libipa_hbac 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ libsss_certmap 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ libsss_idmap 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ libsss_nss_idmap 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ libsss_sudo 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-ad 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-client 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-common 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-common-pac 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-ipa 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-kcm 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-krb5 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-krb5-common 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-ldap 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
├─ sssd-nfs-idmap 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
└─ sssd-proxy 2.9.3-1.fc39 -> 9.pr7034-03508.fc39
LayeredPackages: ansible git gnome-boxes gnome-tweak-tool guestfs-tools htop ipa-client krb5-workstation libguestfs libguestfs-xfs libvirt-client libvirt-daemon openssl perl-Git powertop qemu-system-x86 tlp vim-enhanced
virt-viewer
AvailableUpdate:
Version: 39.20240123.0 (2024-01-23T00:49:42Z)
Commit: 6aa7b656eb301c48752b89ef59c43d8b3304766db52f42e282c5cbdedfbf45ca
GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C
SecAdvisories: 7 moderate, 1 important
Diff: 133 upgraded, 5 added
Additional information
Trying override reset
$ rpm-ostree override reset --all
Checking out tree b05d820... done
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
Problem: package sssd-common-2.9.3-1.fc39.x86_64 from @System requires (libsss_autofs(x86-64) = 2.9.3-1.fc39 if autofs), but none of the providers can be installed
- package freeipa-client-4.11.0-7.fc39.x86_64 from @commandline requires autofs, but none of the providers can be installed
- conflicting requests
$
Trying to remove the ipa-client
(== freeipa-client
) package
$ rpm-ostree remove ipa-client
Inactive base replacements:
libsss_autofs
sssd-dbus
sssd-idp
sssd-passkey
sssd-tools
Checking out tree b05d820... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora copr:copr.fedorainfracloud.org:group_sssd:pr7034 updates-archive
Updating metadata for 'copr:copr.fedorainfracloud.org:group_sssd:pr7034'... done
error: Updating rpm-md repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Failed to download gpg key for repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Status code: 404 for https://download.copr.fedorainfracloud.org/results/@sssd/pr7034/pubkey.gpg (IP: 13.32.110.46)
$
OK, let's disable the missing repo...
$ rpm-ostree remove --disablerepo=copr:copr.fedorainfracloud.org:group_sssd:pr7034 ipa-client
Inactive base replacements:
libsss_autofs
sssd-dbus
sssd-idp
sssd-passkey
sssd-tools
Checking out tree b05d820... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora copr:copr.fedorainfracloud.org:group_sssd:pr7034 updates-archive
Updating metadata for 'copr:copr.fedorainfracloud.org:group_sssd:pr7034'... done
error: Updating rpm-md repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Failed to download gpg key for repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Status code: 404 for https://download.copr.fedorainfracloud.org/results/@sssd/pr7034/pubkey.gpg (IP: 13.32.110.108)
$
let's try upgrade
$ rpm-ostree upgrade
2 metadata, 0 content objects fetched; 788 B transferred in 1 seconds; 0 bytes content written
Checking out tree bdd0afb... done
Inactive base replacements:
libsss_autofs
sssd-dbus
sssd-idp
sssd-passkey
sssd-tools
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora copr:copr.fedorainfracloud.org:group_sssd:pr7034 updates-archive
Updating metadata for 'copr:copr.fedorainfracloud.org:group_sssd:pr7034'... done
error: Updating rpm-md repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Failed to download gpg key for repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Status code: 404 for https://download.copr.fedorainfracloud.org/results/@sssd/pr7034/pubkey.gpg (IP: 13.32.110.103)
$
OK, let's check the --help
. No --disablerepo
, no --override-reset
but maybe --uninstall
and/or --cache-only
will help?
let's try with --cache-only
$ rpm-ostree upgrade --cache-only
Checking out tree bdd0afb... done
Inactive base replacements:
libsss_autofs
sssd-dbus
sssd-idp
sssd-passkey
sssd-tools
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora copr:copr.fedorainfracloud.org:group_sssd:pr7034 updates-archive
Updating metadata for 'copr:copr.fedorainfracloud.org:group_sssd:pr7034'... done
error: Updating rpm-md repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Failed to download gpg key for repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Status code: 404 for https://download.copr.fedorainfracloud.org/results/@sssd/pr7034/pubkey.gpg (IP: 13.32.110.103)
Isn't the cache only mode supposed to be equal to without network?
OK, let's try --uninstall ipa-client
$ rpm-ostree upgrade --uninstall ipa-client
2 metadata, 0 content objects fetched; 788 B transferred in 1 seconds; 0 bytes content written
Checking out tree bdd0afb... done
Inactive base replacements:
libsss_autofs
sssd-dbus
sssd-idp
sssd-passkey
sssd-tools
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora copr:copr.fedorainfracloud.org:group_sssd:pr7034 updates-archive
Updating metadata for 'copr:copr.fedorainfracloud.org:group_sssd:pr7034'... done
error: Updating rpm-md repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Failed to download gpg key for repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Status code: 404 for https://download.copr.fedorainfracloud.org/results/@sssd/pr7034/pubkey.gpg (IP: 13.32.110.89)
$
now with -C
$ rpm-ostree upgrade --cache-only --uninstall ipa-client
Checking out tree bdd0afb... done
Inactive base replacements:
libsss_autofs
sssd-dbus
sssd-idp
sssd-passkey
sssd-tools
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora copr:copr.fedorainfracloud.org:group_sssd:pr7034 updates-archive
Updating metadata for 'copr:copr.fedorainfracloud.org:group_sssd:pr7034'... done
error: Updating rpm-md repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Failed to download gpg key for repo 'copr:copr.fedorainfracloud.org:group_sssd:pr7034': Status code: 404 for https://download.copr.fedorainfracloud.org/results/@sssd/pr7034/pubkey.gpg (IP: 13.32.110.46)
$
possible rpm-ostree
additions?
I'm essentially done here, I just can't see any clean path to resolve this state.
The cleanest solutions could be IMO:
- option for
upgrade
:--disablerepo
- option for
upgrade
to do resets:--reset=PKG
- options for
override reset
to help it resolve deps:--install
/--upgrade
/--remove
- option for
override reset
to ignore deps, to get them fixed subsequently:--nodeps
Furthermore, I see these as issues:
- no
--cache-only
forremove
- the
--disablerepo=
ofremove
has no effect
Update: the permutation I missed is rpm-ostree override reset --uninstall ipa-client
. I still think however that the issue is valid, there should be way out without removing the package and rather upgrading/reinstalling it from the base repos.