#3 Offline Upgrades and System Upgrades
Opened 2 years ago by ngompa. Modified a month ago

The way we do system upgrades right now is just not very polished. We do have Plasma Discover and dnfdragora, but neither of them give users the ability to easily do system upgrades safely.

With GNOME, GNOME Software can pull this off, and Plasma Discover (at least) has the the framework to do this too. We should try to figure out what's needed to make this happen.


Metadata Update from @ngompa:
- Issue tagged with: experience

2 years ago

As is (for the last few years), if you set the PK_OFFLINE_UPDATE environment variable, it should already work. We decided not to make it the default because most people are still installing most of the applications from the distro and this makes it cumbersome.

My impression (as Discover maintainer) is that if people started to adopt flatpak/snap/younameit as a way to install their apps, the usability of this feature would drastically improve.

That said, I'd be happy to make it easier for you to use it. Also please test it, it's not very well tested yet, I'll be happy to fix whatever we need.

At the moment, I'm mainly interested in doing offline updates for OS upgrades. That is, doing Fedora 32 to Fedora 33 upgrades through an offline update system upgrade. Regular updates and whatnot probably aren't ready to change over.

With GNOME Software, there's a way to do OS release upgrades by triggering the offline updates mechanism, and I'd like to see if we can do that for Plasma Discover too.

I see, this is ad-hoc for upgrades. I still think it would make sense to have most of the system upgrades offline.

Usually such specific tasks are done more comfortably from a distro-specific app with its status notifier. What kind of integration would you like to see in discover beyond the "press here to upgrade to Fedora N"?

Well, patches welcome I guess. If you want to know how to do that, I'll be happy to answer.

It seems like @rdieter has started working on having offline updates enabled for even regular updates for Fedora 34, so I guess we should start planning for offline system upgrades for F34 too...

Metadata Update from @ngompa:
- Issue set to the milestone: Fedora 34 (was: Future Release)

2 years ago

@bcotton put this in the Fedora 34 Final Blocker Review email last week:

2. LiveCD - KDE — https://bugzilla.redhat.com/show_bug.cgi?id=1939751 — NEW
KDE live image shows update notifications

Discover shows that updates are available, which live images are not
supposed to do. I looks like we need to remove plasma-discover in the
kickstart for KDE Live the way we've previously done for
plasma-pk-updates.

@rdieter what does this mean?

Metadata Update from @siosm:
- Issue tagged with: meeting

a year ago

Metadata Update from @siosm:
- Issue untagged with: meeting

a year ago

At this point, we've got basic offline updates in place for Fedora Linux 34. The remaining thing to do here is to get Discover extended to support the same offline full system upgrade workflow that exists in GNOME Software. We've discussed in today's meeting and @siosm will work on implementing this, since he's already working in Discover for Kinoite work.

Metadata Update from @ngompa:
- Issue assigned to siosm
- Issue set to the milestone: Fedora 35 (was: Fedora 34)

a year ago

What workflow is this?

@apol It's the workflow for notifying the user and triggering a system upgrade from one Fedora release to the next. This is something that exists in GNOME Software and people have asked us to have this in the KDE spin through Discover somehow.

Metadata Update from @ngompa:
- Issue set to the milestone: Future Release (was: Fedora 35)

7 months ago

Metadata Update from @ngompa:
- Issue tagged with: meeting

6 months ago

Some notes from @mcrha on how this works in GNOME Software:

Just call functions from the pk-offline.h; if I'm not mistaken, then:

pk_offline_get_prepared_ids() to see whether there are prepared updates:
https://gitlab.gnome.org/GNOME/gnome-software/-/blob/9643b1c6/plugins/packagekit/gs-plugin-systemd-updates.c#L97

pk_offline_trigger_with_flags() to prepare the update (aka to download it):
https://gitlab.gnome.org/GNOME/gnome-software/-/blob/9643b1c6/plugins/packagekit/gs-plugin-systemd-updates.c#L267

pk_offline_trigger_upgrade_with_flags() to execute the upgrade (that's under
the 'Restart & Update'):
https://gitlab.gnome.org/GNOME/gnome-software/-/blob/9643b1c6/plugins/packagekit/gs-plugin-systemd-updates.c#L286

Note these functions are wrapped in the gnome-software, because there
had been done a change on the PackageKit side, which the API may not
have covered, thus there are done direct D-Bus calls when the
PackageKit API is not new enough.

@siosm Is there any improvements on this?

Login to comment on this ticket.