Although I’ve been offline for awhile I’ve come to similar but not exactly same conclusions what has been already posted… Yes, the problem is Factory packages but unless I’m missing something libyui5 may not be the culprit.
I’m not sure when/where libyui5 is used, but when I do a dependency check on yast, followed by inspecting the yast_basis pattern, it <seems> to me the version of YAST I have installed is still referencing libyui4.
Although this thread might be considered referencing “Beta” code, actually the solution raises an interesting question that’s not Beta specific, how would one specify installing a specific pattern, provided by a specified repository? The rest of this post describes what I tried, and at the end the desired solution (unresolved for now).
Description of the current situation:
YAST is installed using Factory packages. This was unintentional, is the result of installing a package from Factory which enabled the Factory repo, then running “zypper up” which updated not only the one package but all packages where a Factory version exists. Lesson be learned… Normally leave the Factory repo disabled, and manually track the specified package. This incident might even lead to a Feature Request that better controls how the Factory repo is managed.
Verification Yast packages are from Factory
The following lists all packages with “yast” in the name from the Factory repo, and yes plenty of yast packages are listed
zypper se -r openSUSE:Factory | grep yast
Initial attempts to “update” packages by force installing from non-Factory sources
Disable Factory repo
zypper mr -d openSUSE:Factory
1. Attempt to force install by pattern
zypper se -t pattern
Force install pattern with Factory installed, assumption is that all packages listed in the pattern would be re-installed, but appears not to be the case
zypper in -f -t pattern yast2_basis
Force install attempt results in “nothing to do”
2. Attempt to force install the yast package, hoping dependencies would also be updated
zypper in -f yast2
Results in the yast package re-installed but nothing else(no dependencies) is re-installed
3. Analyze Dependencies
This may be where the problem exists, dependencies don’t specify a required version, they specify minimal versions so Factory versions are left untouched.
zypper se --requires yast2
Desired solution, Is it Possible?**
So, short of creating a list of all currently installed YAST packages, manually uninstalling them and then re-attempting to install yast (likely by pattern), is there another method which can be recommended? Ideally, no package should be uninstalled, but force install a pattern from a specified repo which should over-write existing… I’d expect this approach if can be made to work should be least risky and should easily pick up existing configurations.
If there is no perceived risk, then I might just rm all packages with “yast” in the name, then with the Factory repo disabled install the yast_basis pattern plus the special yast applets. If re-installing the yast applets don’t pick up the existing configurations, I’d expect that re-installing the applets with the corresponding service (eg FTP, LxC, virtualization, etc) should re-build the configs.