Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve improper cockpit-ostree install on systems without rpm-ostree #295

Closed
garrett opened this issue Nov 15, 2022 · 13 comments · Fixed by #330
Closed

Improve improper cockpit-ostree install on systems without rpm-ostree #295

garrett opened this issue Nov 15, 2022 · 13 comments · Fixed by #330
Labels
bug Something isn't working enhancement New feature or request

Comments

@garrett
Copy link
Member

garrett commented Nov 15, 2022

We've been getting a lot of issues lately about people who have cockpit-ostree installed on a system that isn't based on rpm-ostree.

Whether someone installed cockpit-* or a weird dependency chain might've pulled in ostree (and then cockpit-ostree) on their system, we can improve the experience.

This can range anywhere from:

  • improving the error message to be more clear about what the problem is and suggest a solution
  • checking the system and switching to the standard UI if the system is not based on rpm-ostree with a message (perhaps even automatically with a small banner at the top with an info message, so there's some UI with the issue)

We might even want to do this in steps, like immediately improve the error messaging and then work on a follow-up to handle it more gracefully.


A few recent issues within the past few days, as an example:

@garrett garrett added bug Something isn't working enhancement New feature or request labels Nov 15, 2022
@garrett
Copy link
Member Author

garrett commented Nov 15, 2022

In addition to the standard page UI, we also need to make sure that the update check on the overview page is doing the right thing based on whether the system is PackageKit-based or ostree-based.

@humantex
Copy link

humantex commented Dec 5, 2022

After reporting on this issue during an upgrade (in cockpit-project/cockpit#17858), it looks like it's staged to do the same thing again. I'm on cockpit v278 now, and according to the update's component listings, ostree will again be installed with an update to v280 (screen attached).

I'm making the assumption that removing ostree will again correct the problem if in fact it does get installed, but it seems obvious that there's something wrong in the update checks for either cockpit itself, or with Fedora's own check - IF - that's the check routine that cockpit relies upon instead of its own internal one.

I'll complete the software update - recheck the system for further updates - and recheck cockpit components to see what transpired after all updates are complete. This machine is still on Fedora Workstation 36

cockpit-update-v281_ostree-install

@humantex
Copy link

humantex commented Dec 5, 2022

After the update and rechecks... ostree was indeed reinstalled. The same on-screen error showed - "Unable to communicate..." - and after another removal of cockpit-ostree, everything returned to normal in cockpit ('about console' screenshot attached).

cockpit-update-to-280_ostree-installed

I'm also about to update Fedora to 37, so I'll watch for the next round of cockpit updates and see if there's any change in update behaviour with the next round of releases past 280.

@martinpitt
Copy link
Member

@humantex : Do you have the rpm-ostree package installed?

@humantex
Copy link

humantex commented Dec 9, 2022

@martinpitt : No, it isn't installed, and as far as I know, it isn't now or has it ever been a dependency from anything installed on this machine. Essentially, this machine runs as a DNS trap on my local network, and not as a server or desktop environment, so basically I access it remotely via a browser for its primary purpose.

rpm-ostree status
error: This system was not booted via libostree.
Currently, most rpm-ostree commands only work on ostree-based host systems.

@martinpitt
Copy link
Member

@humantex: Ah, so you do have the rpm-ostree package installed. Your machine is not using it. To fix this for your system now, please sudo dnf remove rpm-ostree. We'll need to find a solution for "hiding" cockpit-ostree in this case, but I don't yet have a good idea about it.

@humantex
Copy link

humantex commented Dec 12, 2022

I had earlier tried to use both --v and --V to see if it was installed, and if so, what version... and got errors, so I assumed it wasn't installed. Then seeing a mention of trying the 'status' option, and seeing the red 'error' line in terminal when running it, I again assumed it wasn't installed.

As you rightly corrected my wrong assumption, I found that it required a different command to have it spit out what I'd missed...

~]$ rpm-ostree --version
rpm-ostree:
 Version: '2022.16'
 Git: 8db28e6bfb13dffd6d9e8b6fe6add6b244c106f9
 Features:
  - rust
  - compose
  - container
  - fedora-integration

Given that it really is installed, I'm wondering why, and if my DNS trap (Technitium DNS Server) might be using it as a required dependency for some odd reason. I'd like to spend some time looking into that before summarily removing it and causing issues somewhere else. This is the lone Fedora box I have on the network, and it started its life with a fresh install of Fedora 34, so I suppose it's possible that it's been a holdover from a previous OS version and never got pruned -but- if it's still needed, I might have an easier time removing cockpit-ostree after upcoming Cockpit updates than trying to find a workaround for other scenarios where rpm-ostree is needed.

@humantex
Copy link

humantex commented Jan 2, 2023

My apologies for the late reply... I just had a chance to get back to finally doing the Fedora 37 upgrade, and as part of that process, cockpit-ostree was somehow reinstalled. Cockpit was running fine - cockpit-ostree had previously been removed after another minor update had reinstalled it again - and the software updates pane was showing as-expected, and was functional for the latest and successful system update from earlier today.

The Fedora 37' update required removal of some Xorg support files as it fully moved to Wayland, but I saw no other notifications about Cockpit specific updates or modifications that would be performed. I didn't expect to see them... I just wanted to state that they weren't displayed, nor were any other specifics for other packages noted during the upgrade.

Cockpit components showing after all of today's updates/upgrades - and once again, removing cockpit-ostree...

cockpit-about-01-02-2023

@garrett
Copy link
Member Author

garrett commented Jan 11, 2023

@humantex: Apologies that it's still happening for you (somehow — it really shouldn't). Thanks for sharing that it does.

Would you mind sharing a list of packages you have installed manually on your system? This command is supposed to show you everything you manually installed (however, it mistakenly also shows some installed packages you haven't specifically asked for):

dnf repoquery --userinstalled

If you install python3-dnf-plugin-leaves, you can prune the list down a bit too, in bash or another POSIX shell (based on a Stackexchange comment, but updated to work):

comm -12 <(dnf leaves | cut -f2 -d" " | sort) <(sudo dnf history userinstalled | sort)

Either way, using the simple or the convoluted command above, a list of packages you have installed on your system would help! Thanks!


Your comment shows that we really need to have the fallback implemented for the really odd times where cockpit-ostree is pulled in by some mysterious recommends dependency.

A fallback, of course, is also still important for when people like Cockpit and want everything it has to offer and install cockpit-*.

@humantex
Copy link

humantex commented Jan 11, 2023

Thanks for the reply @garrett...

I have no doubt that running the command isn't representative of what I've specifically chosen and installed myself. The list (below) also seems to include lots of packages that were part of various system updates and upgrades - either those run via cockpit's routine, or the desktop software app.

The actual list is short. Other than Cockpit and several of its addins (which really aren't in use yet, i.e., Navigator and Podman containers, etc.), I installed WireShark, the FileZilla client, and Technitium DNS (https://technitium.com) over the top of a basic Fedora Workstation LiveCD install. Anything else would have been some minor system utilities and a few Gnome extensions to help setup the machine.

If it matters, this is running on an HP EliteDesk 705 G3 Desktop Mini, and I think I started with Fedora WS 34. There were no ostree issues until somewhere late into Fedora 36, but I don't have a specific update point in time where it happened... other than the report date for #17858, above.

From dnf leaves...

...-local ~]$ comm -12 <(dnf leaves | cut -f2 -d" " | sort) <(sudo dnf history userinstalled | sort)
adwaita-gtk2-theme-3.28-15.fc37.x86_64
amd-gpu-firmware-20221214-145.fc37.noarch
anaconda-install-env-deps-37.12.6-1.fc37.x86_64
anaconda-live-37.12.6-1.fc37.x86_64
avahi-tools-0.8-18.fc37.x86_64
clevis-luks-18-14.fc37.x86_64
clevis-pin-tpm2-0.5.2-2.fc37.x86_64
cockpit-composer-41-1.fc37.noarch
cockpit-file-sharing-2.4.5-2.fc37.noarch
cockpit-machines-279-1.fc37.noarch
cockpit-navigator-0.5.9-2.fc37.noarch
cockpit-networkmanager-282-1.fc37.noarch
cockpit-packagekit-282-1.fc37.noarch
cockpit-pcp-282-1.fc37.x86_64
cockpit-podman-59-1.fc37.noarch
cockpit-selinux-282-1.fc37.noarch
cockpit-storaged-282-1.fc37.noarch
contractor-0.3.5-4.fc37.x86_64
corectrl-1.3.1-1.fc37.x86_64
cups-filters-braille-1.28.16-2.fc37.x86_64
dnf-automatic-4.14.0-1.fc37.noarch
dracut-live-057-5.fc37.x86_64
f36-backgrounds-gnome-36.1.1-2.fc37.noarch
fcoe-utils-1.0.34-3.gitb233050.fc37.x86_64
fedora-chromium-config-gnome-2.0-2.fc37.noarch
filezilla-3.60.2-1.fc37.x86_64
firefox-langpacks-108.0.1-3.fc37.x86_64
fwupd-efi-1.3-1.fc37.x86_64
gnome-browser-connector-42.1-1.fc37.x86_64
gnome-nettool-3.8.1-25.fc37.x86_64
gnome-shell-extension-user-theme-43.0-1.fc37.noarch
gnome-software-rpm-ostree-43.3-1.fc37.x86_64
gnome-tweaks-42~beta-4.fc37.noarch
google-noto-sans-mono-vf-fonts-20201206^1.git0c78c8329-7.fc37.noarch
google-noto-serif-vf-fonts-20201206^1.git0c78c8329-7.fc37.noarch
gstreamer1-plugin-openh264-1.20.3-3.fc37.x86_64
gvncpulse-1.3.0-5.fc37.x86_64
initscripts-10.17-1.fc37.x86_64
intel-gpu-firmware-20221214-145.fc37.noarch
iptables-compat-1.8.8-3.fc37.x86_64
iwlax2xx-firmware-20221214-145.fc37.noarch
jxl-pixbuf-loader-1:0.7.0-5.fc37.x86_64
kernel-6.0.15-300.fc37.x86_64
kernel-6.0.16-300.fc37.x86_64
kernel-6.0.18-300.fc37.x86_64
kernel-modules-extra-6.0.15-300.fc37.x86_64
kernel-modules-extra-6.0.16-300.fc37.x86_64
kernel-modules-extra-6.0.18-300.fc37.x86_64
langpacks-en-3.0-26.fc37.noarch
libcanberra-gtk2-0.30-29.fc37.x86_64
libcap-ng-python3-0.8.3-3.fc37.x86_64
libindicator-gtk3-12.10.1-23.fc37.x86_64
libproxy-duktape-0.4.18-3.fc37.x86_64
libreoffice-gtk4-1:7.4.3.2-1.fc37.x86_64
lshw-gui-B.02.19.2-8.fc37.x86_64
malcontent-control-0.11.0-1.fc37.x86_64
menulibre-2.3.0-1.fc37.noarch
mesa-demos-8.4.0-14.20210504git0f9e7d9.fc37.x86_64
mesa-va-drivers-22.3.2-1.fc37.x86_64
mozilla-openh264-2.3.1-1.fc37.x86_64
mozjs91-91.13.0-1.fc37.x86_64
network-manager-applet-1.28.0-2.fc37.x86_64
NetworkManager-initscripts-ifcfg-rh-1:1.40.6-1.fc37.x86_64
NetworkManager-initscripts-updown-1:1.40.6-1.fc37.noarch
nvidia-gpu-firmware-20221214-145.fc37.noarch
openldap-compat-2.6.3-1.fc37.x86_64
perl-4:5.36.0-492.fc37.x86_64
php-8.1.13-1.fc37.x86_64
php-bcmath-8.1.13-1.fc37.x86_64
phpMyAdmin-5.2.0-2.fc37.noarch
php-pear-1:1.10.13-3.fc37.noarch
php-pecl-mcrypt-1.0.5-2.fc37.x86_64
php-php-gettext-1.0.12-13.fc37.noarch
plank-libs-0.11.89-11.20210202.git013d051.fc37.x86_64
plocate-1.1.17-1.fc37.x86_64
podman-gvproxy-4:4.3.1-1.fc37.x86_64
power-profiles-daemon-0.12-2.fc37.x86_64
python3-dnf-plugin-leaves-4.3.1-1.fc37.noarch
python3-pyyaml-6.0-5.fc37.x86_64
python3-regex-2022.10.31-1.fc37.x86_64
python3-simpleaudio-1.0.4-8.fc37.x86_64
python3-tracer-0.7.8-4.fc37.noarch
qgnomeplatform-qt5-0.9.0-5.fc37.x86_64
qgnomeplatform-qt6-0.9.0-5.fc37.x86_64
qt5-qtmultimedia-5.15.7-1.fc37.x86_64
qt5-qtspeech-speechd-5.15.7-1.fc37.x86_64
reportd-0.7.4-9.fc37.x86_64
rit-meera-new-fonts-1.4.1-1.fc37.noarch
skopeo-1:1.10.0-3.fc37.x86_64
smb4k-3.1.6-1.fc37.x86_64
sscg-3.0.2-9.fc37.x86_64
switchboard-libs-6.0.2-1.fc36.x86_64
systemd-oomd-defaults-251.10-588.fc37.noarch
telnet-1:0.17-87.fc37.x86_64
tumbler-4.16.1-1.fc37.x86_64
udisks2-lvm2-2.9.4-5.fc37.x86_64
unbound-anchor-1.17.0-1.fc37.x86_64
util-linux-user-2.38.1-1.fc37.x86_64
vim-enhanced-2:9.0.1160-1.fc37.x86_64
virt-install-4.1.0-1.fc37.noarch
vulkan-tools-1.3.216.0-2.fc37.x86_64
webkit2gtk4.0-2.38.3-2.fc37.x86_64
wingpanel-libs-3.0.2-4.fc36.x86_64
wireshark-1:4.0.2-1.fc37.x86_64
xdg-desktop-portal-gnome-43.1-1.fc37.x86_64
xdpyinfo-1.3.3-2.fc37.x86_64
xev-1.2.4-5.fc37.x86_64
xlsatoms-1.1.3-2.fc37.x86_64
xlsclients-1.1.4-5.fc37.x86_64
xlsfonts-1.0.7-2.fc37.x86_64
xprop-1.2.5-2.fc37.x86_64
xvinfo-1.1.4-2.fc37.x86_64
xwininfo-1.1.5-5.fc37.x86_64
zstd-1.5.2-3.fc37.x86_64

@humantex
Copy link

humantex commented Jan 23, 2023

I think I've found the initiator that is reinstalling cockpit-ostree, and it isn't Cockpit core... at least in how it's installed for my instance.

From the expanded tree on the software installer screen inside Cockpit:

Packages
cockpit-machines
Automatic update for cockpit-machines-281-1.fc37.

Changelog for cockpit-machines
* Wed Jan 11 2023 Packit <hello@packit.dev> - 281-1
- Summarize system and user session differences
- Virtual watchdog device support

* Tue Jan 03 2023 Packit <hello@packit.dev> - 280-1
- Start using tabular fonts
- Other UI fixes and improvements

cockpit-ostree	
1:191-1.fc37
New upstream release: 191
cockpit-podman	
60-1.fc37
Automatic update for cockpit-podman-60-1.fc37.
Packages
cockpit-podman
Automatic update for cockpit-podman-60-1.fc37.

Changelog for cockpit-podman
* Thu Jan 12 2023 Packit <hello@packit.dev> - 60-1
- Patternfly update and other maintenance

cockpit, cockpit-bridge, cockpit-networkmanager, cockpit-packagekit, …	
283-1.fc37
Automatic update for cockpit-283-1.fc37.
Packages
cockpit, cockpit-bridge, cockpit-networkmanager, cockpit-packagekit, cockpit-pcp, cockpit-selinux, cockpit-storaged, cockpit-system, cockpit-ws
Automatic update for cockpit-283-1.fc37.

Changelog for cockpit
* Wed Jan 11 2023 Packit <hello@packit.dev> - 283-1
- Services: Create timer to run every minute

The issue seems to stem from the cockpit-podman app getting updated and I'm assuming it's is also been the triggering package responsible for any/every previous occurrence where cockpit-ostree got reinstalled in error. From their project page (https://github.com/cockpit-project/cockpit-podman) it notes that it was based on Cockpit's Starter Kit, but I'm unsure whether that might mean the kit needs to include some new code or other guidance for 3rd party devs. I've posted a new issue in their queue (cockpit-project/cockpit-podman#1191), and referenced it to this issue.

@marusak
Copy link
Member

marusak commented Jan 30, 2023

dnf wanted to install cockpit-ostree on my system as well, I was looking why and here are some finds: cockpit-project/cockpit-podman#1191 (comment)

Short version: cockpit-composer pulls osbuild-composer which pulls rpm-ostree which then triggers cockpit-ostree through 'recommends'.

We have some plans how to fix this issue properly. @martinpitt is looking into it.

martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 6, 2023
These pave the way for bundling packages together with the webserver,
and only showing them if the target system actually supports the
corresponding functionality. For example, CoreOS does not have libvirt,
so we can bundle but hide the "Machines" page on such systems.

This also allows us to better handle ostree vs. packagekit -- even if a
user installs cockpit-ostree on a standard RPM system, they should still
see the packagekit version of "Software Updates" [1]. This is a more
flexible approach than the old static `priority` field.

Take inspiration from systemd unit files, which support e.g.
`ConditionPathExists=`. The conditions should be declarative and cheap
to evaluate. Support file exists/not exists tests for now, which should
suffice for most use cases. The format and implementation is easy to
extend in the future.

Do not document this yet -- this is still considered experimental, and
it also is not implemented in the C bridge yet.

[1] cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 6, 2023
We only want to show this page if Packagekit is installed, and the
system is not an OSTree.

First half of cockpit-project/cockpit-ostree#295
@martinpitt
Copy link
Member

I started working on this in cockpit-project/cockpit#18291 .

martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 6, 2023
These pave the way for bundling packages together with the webserver,
and only showing them if the target system actually supports the
corresponding functionality. For example, CoreOS does not have libvirt,
so we can bundle but hide the "Machines" page on such systems.

This also allows us to better handle ostree vs. packagekit -- even if a
user installs cockpit-ostree on a standard RPM system, they should still
see the packagekit version of "Software Updates" [1]. This is a more
flexible approach than the old static `priority` field.

Take inspiration from systemd unit files, which support e.g.
`ConditionPathExists=`. The conditions should be declarative and cheap
to evaluate. Support file exists/not exists tests for now, which should
suffice for most use cases. The format and implementation is easy to
extend in the future.

Comment out the documentation for now. This is still considered
experimental, and it also is not implemented in the C bridge yet. Once
we switch over, we can enable this.

[1] cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 6, 2023
We only want to show this page if Packagekit is installed, and the
system is not an OSTree.

The integration test will fail as soon as we make the Python bridge the
default and drop the C bridge -- this will remind us of updating the
test and docs, instead of letting it silently break (with a simple skip).

First half of cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 6, 2023
We only want to show this page if Packagekit is installed, and the
system is not an OSTree.

The integration test will fail as soon as we make the Python bridge the
default and drop the C bridge -- this will remind us of updating the
test and docs, instead of letting it silently break (with a simple skip).

First half of cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 9, 2023
These pave the way for bundling packages together with the webserver,
and only showing them if the target system actually supports the
corresponding functionality. For example, CoreOS does not have libvirt,
so we can bundle but hide the "Machines" page on such systems.

This also allows us to better handle ostree vs. packagekit -- even if a
user installs cockpit-ostree on a standard RPM system, they should still
see the packagekit version of "Software Updates" [1]. This is a more
flexible approach than the old static `priority` field.

Take inspiration from systemd unit files, which support e.g.
`ConditionPathExists=`. The conditions should be declarative and cheap
to evaluate. Support file exists/not exists tests for now, which should
suffice for most use cases. The format and implementation is easy to
extend in the future.

Comment out the documentation for now. This is still considered
experimental, and it also is not implemented in the C bridge yet. Once
we switch over, we can enable this.

[1] cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 9, 2023
We only want to show this page if Packagekit is installed, and the
system is not an OSTree.

The integration test will fail as soon as we make the Python bridge the
default and drop the C bridge -- this will remind us of updating the
test and docs, instead of letting it silently break (with a simple skip).

First half of cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 9, 2023
These pave the way for bundling packages together with the webserver,
and only showing them if the target system actually supports the
corresponding functionality. For example, CoreOS does not have libvirt,
so we can bundle but hide the "Machines" page on such systems.

This also allows us to better handle ostree vs. packagekit -- even if a
user installs cockpit-ostree on a standard RPM system, they should still
see the packagekit version of "Software Updates" [1]. This is a more
flexible approach than the old static `priority` field.

Take inspiration from systemd unit files, which support e.g.
`ConditionPathExists=`. The conditions should be declarative and cheap
to evaluate. Support file exists/not exists tests for now, which should
suffice for most use cases. The format and implementation is easy to
extend in the future.

Comment out the documentation for now. This is still considered
experimental, and it also is not implemented in the C bridge yet. Once
we switch over, we can enable this.

[1] cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 9, 2023
We only want to show this page if Packagekit is installed, and the
system is not an OSTree.

Update `TestUpdates.testNoPackageKit` to test the new behaviour:
Previously, the page would just show "PackageKit is not installed", now
it does not get shown at all.

Test the old and new behaviour based on `$TEST_SCENARIO`, so that the
test will fail as soon as we make the Python bridge the default and drop
the C bridge. This will remind us of updating the test and docs,
instead of letting it silently break (with a simple skip).

First half of cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit that referenced this issue Feb 9, 2023
We only want to show this page if Packagekit is installed, and the
system is not an OSTree.

Update `TestUpdates.testNoPackageKit` to test the new behaviour:
Previously, the page would just show "PackageKit is not installed", now
it does not get shown at all.

Test the old and new behaviour based on `$TEST_SCENARIO`, so that the
test will fail as soon as we make the Python bridge the default and drop
the C bridge. This will remind us of updating the test and docs,
instead of letting it silently break (with a simple skip).

First half of cockpit-project/cockpit-ostree#295
allisonkarlitskaya pushed a commit to cockpit-project/cockpit that referenced this issue Feb 13, 2023
These pave the way for bundling packages together with the webserver,
and only showing them if the target system actually supports the
corresponding functionality. For example, CoreOS does not have libvirt,
so we can bundle but hide the "Machines" page on such systems.

This also allows us to better handle ostree vs. packagekit -- even if a
user installs cockpit-ostree on a standard RPM system, they should still
see the packagekit version of "Software Updates" [1]. This is a more
flexible approach than the old static `priority` field.

Take inspiration from systemd unit files, which support e.g.
`ConditionPathExists=`. The conditions should be declarative and cheap
to evaluate. Support file exists/not exists tests for now, which should
suffice for most use cases. The format and implementation is easy to
extend in the future.

Comment out the documentation for now. This is still considered
experimental, and it also is not implemented in the C bridge yet. Once
we switch over, we can enable this.

[1] cockpit-project/cockpit-ostree#295
allisonkarlitskaya pushed a commit to cockpit-project/cockpit that referenced this issue Feb 13, 2023
We only want to show this page if Packagekit is installed, and the
system is not an OSTree.

Update `TestUpdates.testNoPackageKit` to test the new behaviour:
Previously, the page would just show "PackageKit is not installed", now
it does not get shown at all.

Test the old and new behaviour based on `$TEST_SCENARIO`, so that the
test will fail as soon as we make the Python bridge the default and drop
the C bridge. This will remind us of updating the test and docs,
instead of letting it silently break (with a simple skip).

First half of cockpit-project/cockpit-ostree#295
martinpitt added a commit to martinpitt/cockpit-ostree that referenced this issue Feb 14, 2023
Only show ostree if the system is actually *using* OSTree, by checking
for /sysroot/ostree. It sometimes happens that users install
cockpit-ostree on classic RPM systems, which "breaks" the "Software
Updates" page.

This is a better solution than the current static priorities of
packagekit vs. ostree. However, this only works with the Python bridge [1].

Fixes cockpit-project#295

[1] cockpit-project/cockpit#18291
jelly pushed a commit that referenced this issue Feb 15, 2023
Only show ostree if the system is actually *using* OSTree, by checking
for /sysroot/ostree. It sometimes happens that users install
cockpit-ostree on classic RPM systems, which "breaks" the "Software
Updates" page.

This is a better solution than the current static priorities of
packagekit vs. ostree. However, this only works with the Python bridge [1].

Fixes #295

[1] cockpit-project/cockpit#18291
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants