Mailinglist Archive: opensuse-factory (269 mails)

< Previous Next >
[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.openSUSE.xml#L100


--
To unsubscribe, e-mail: opensuse-factory+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-factory+owner@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages