[opensuse-factory] Simplifying upgrade process (part 2)
Hi, Now that Tumbleweed updates just fine from packagekit, time to take a look at other items from the bucket list. Thanks to the work done by Ludwig and YaST Team, openSUSE Leap starting with Leap 15.1 will be as easy to upgrade as doing `zypper --releasever=15.2 dup`. Those changes enable us to finally take care of correct upgrade paths in packagekit as well. However we need to know when to notify of upgrades. As explained in my previous post [1], the proposal was to expand the product package to include an url for an upgrade definitions. In the last few months, I have been discussing many ways we could achieve all the possible upgrade paths, whether it be simple Leap to Leap++ or a little harder Leap to Tumbleweed, via packagekit, zypper and else. Fortunately for us, Thorsten and his team have started an initiative to move as much as we can to distconfdir, which gave me some hope for stable repo definitions in zypp. That feature was discussed in the past [2], however it ended with suggesting using zypp services. Considering that I would very much prefer those repositories to be shared between zypp and dnf, that isn't a viable option. As you might know, repos are added as an installation step by YaST, sourced from skelcd control file [3]. This way we get no insurance that the repositories will have a consistent ID, which is useful to have when writing guides that require `--from` parameter in zypper, as well as assigning enums in packagekit. For quite a long time, Neal was suggesting installing repo definitions from an rpm, which if you think about it, make a lot of sense. Not only does that allow us to have consistent repo files for all the installations, we would actually be able to upgrade Leap to Tumbleweed with two commands quite easily: ```sh zypper in rpm-repos-openSUSE-Tumbleweed zypper dup ``` (that obviously will require the different repo packages to conflict with each other, but that's easy to do ;) Based on all this, packagekit could have a way easier job to do, check a versions document hosted somewhere on software-o-o, see what is available. If the user chooses to upgrade to something, it would check if it requires any package to be installed before doing anything, install it and perform an upgrade to the selected version. In case of upgrades to Leap++, it would require no additional packages thanks to releasever variable, just perform an upgrade to the selected version. Please note, while it would be nice to utilize releasever for Tumbleweed Snapshots, it's not yet possible, maybe in the future, but that would require changing the structure of the repositories a little bit. LCP [Stasiek] https://lcp.world [1] https://lists.opensuse.org/opensuse-factory/2019-01/msg00032.html [2] https://github.com/openSUSE/libzypp/issues/53 [3] https://github.com/yast/skelcd-control-openSUSE/blob/master/control/control.... -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (1)
-
Stasiek Michalski