Best practices for using Framnewirks and QT5

I have just completed reinstalling 15.3 (from USB image of the Release DVD) and am ready, I believe, to reload the Frameworks, Qt5 and associated repos.
I have been using Framewirks for a long time and find that overtime my system accumulates issues.
I am following as closely as possible this Reference https://en.opensuse.org/SDB:KDE_repositoriesI note in the above reference that the proper way to install the additional Repos is to use

zypper -v dup --allow-vendor-change

My question is, from here on, what is the best method to maintain this installation?
I typically use the YAST GUI Software Management method but am wondering if that is proper,

Clearly a Repository refresh is always in order. Followed by zypper dup, zypper up or YAST?

My current state, I have not run the zypper dup yet to actually load the new Repos.

**PVE-LinuxSRV8-Ryzen:/etc #** zypper ref 
Repository 'OpenCPN (openSUSE_Leap_15.2)' is up to date.                                                                                                                                                                         
Repository 'Downloads' is up to date.                                                                                                                                                                                            
Repository 'KDE-Applications' is up to date.                                                                                                                                                                                     
Repository 'KDE-Extra' is up to date.                                                                                                                                                                                            
Repository 'KDE-Frameworks' is up to date.                                                                                                                                                                                       
Repository 'KDE-Qt5' is up to date.                                                                                                                                                                                              
Repository 'Packman Repository' is up to date.                                                                                                                                                                                   
Repository 'Mozilla openSUSE_Leap_15.3' is up to date.                                                                                                                                                                           
Repository 'Libdvdcss Repository' is up to date.                                                                                                                                                                                 
Repository 'Update repository of openSUSE Backports' is up to date.                                                                                                                                                              
Repository 'Non-OSS Repository' is up to date.                                                                                                                                                                                   
Repository 'Main Repository' is up to date.                                                                                                                                                                                      
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is up to date.                                                                                                                                         
Repository 'Main Update Repository' is up to date.                                                                                                                                                                               
Repository 'Update Repository (Non-Oss)' is up to date.                                                                                                                                                                          
All repositories have been refreshed. 
**PVE-LinuxSRV8-Ryzen:/etc #** zypper lr -P 
#  | Alias                                        | Name                                                                                        | Enabled | GPG Check | Refresh | Priority 
---+----------------------------------------------+---------------------------------------------------------------------------------------------+---------+-----------+---------+--------- 
 3 | KDE-Applications                             | KDE-Applications                                                                            | Yes     | (r ) Yes  | Yes     |   75
 4 | KDE-Extra                                    | KDE-Extra                                                                                   | Yes     | (r ) Yes  | Yes     |   75
 5 | KDE-Frameworks                               | KDE-Frameworks                                                                              | Yes     | (r ) Yes  | Yes     |   75
 6 | KDE-Qt5                                      | KDE-Qt5                                                                                     | Yes     | (r ) Yes  | Yes     |   75
 7 | ftp.gwdg.de-openSUSE_Leap_$releasever        | Packman Repository                                                                          | Yes     | (r ) Yes  | Yes     |   85
 8 | openSUSE_Leap_15.3                           | Mozilla openSUSE_Leap_15.3                                                                  | Yes     | (r ) Yes  | Yes     |   90
 1 | Application_Geo_OpenCPN                      | OpenCPN (openSUSE_Leap_15.2)                                                                | Yes     | (r ) Yes  | Yes     |   98
 9 | opensuse-guide.org-openSUSE_Leap_$releasever | Libdvdcss Repository                                                                        | Yes     | (r ) Yes  | Yes     |   98
11 | repo-backports-update                        | Update repository of openSUSE Backports                                                     | Yes     | (r ) Yes  | Yes     |   98
16 | repo-non-oss                                 | Non-OSS Repository                                                                          | Yes     | (r ) Yes  | Yes     |   98
17 | repo-oss                                     | Main Repository                                                                             | Yes     | (r ) Yes  | Yes     |   98
19 | repo-sle-update                              | Update repository with updates from SUSE Linux Enterprise 15                                | Yes     | (r ) Yes  | Yes     |   98
21 | repo-update                                  | Main Update Repository                                                                      | Yes     | (r ) Yes  | Yes     |   98
22 | repo-update-non-oss                          | Update Repository (Non-Oss)                                                                 | Yes     | (r ) Yes  | Yes     |   98
 2 | Downloads                                    | Downloads                                                                                   | Yes     | ( p) Yes  | No      |  100
12 | repo-debug                                   | Debug Repository                                                                            | No      | ----      | ----    |  106
10 | repo-backports-debug-update                  | Update repository with updates for openSUSE Leap debuginfo packages from openSUSE Backports | No      | ----      | ----    |  107
18 | repo-sle-debug-update                        | Update repository with debuginfo for updates from SUSE Linux Enterprise 15                  | No      | ----      | ----    |  107
13 | repo-debug-non-oss                           | Debug Repository (Non-OSS)                                                                  | No      | ----      | ----    |  109
14 | repo-debug-update                            | Update Repository (Debug)                                                                   | No      | ----      | ----    |  109
15 | repo-debug-update-non-oss                    | Update Repository (Debug, Non-OSS)                                                          | No      | ----      | ----    |  109
20 | repo-source                                  | Source Repository                                                                           | No      | ----      | ----    |  109
**PVE-LinuxSRV8-Ryzen:/etc #**



Thanks in advance

I do not understand all you say (or what you want to say with what you say).

zypper -v dup --allow-vendor-change

is not a way to install additional repos. It will update all the packages you have on the system with packages with a higher version number regardless on which repo they are. It is a sort of massive “vendor switch”. As long as it is not clear what repos you have, what will happen is at the least uncertain.

And we do not know which repos you have, because you posted a repo list without the URLs. Thus we can only guess what the repos are from their names/aliases (they are local to your system and can be anything), but are not sure. A better list

zypper lr -d

or similar, of it only shows the URLs.

Back to the massive vendor switch. Such a switch is often done by people adding the Packman repo. But then only involving the Packman repo

zypper dup --from <Packman>

You seem to have more extra repos, but only you know why you have added them and if you want only to install one or more packages from them, or also want to switch to them.

About updating. In Leap, you update never with zypper dup!
zypper up is OK, it will install newer versions of packages either coming from the corresponding Update repos (when from the standard repos), or newer versions offered by your other repos, but it will never switch vendor. Thus the vendor you have chosen to use will not change regardless of the version number being higher or lower.

Restricting the update to the Update repos (thus for packages from the standard repos only) can be done with zypper patch (a zypper up will include a zypper patch).

And no, zypper ref is not really needed. All the above will do a zypper ref out of their own when the last refresh is done slready some time ago. I never worry about zypper ref, except when changing repos to a new openSUSE version (upgrade of the whole system).

You can do the equivalent of zypper patch with YaST > Software > Online Update.
You can do the equivalent of zypper up with YaST > Software > Software Management, then from the View menu: Package Classification, then at left: All packages; in the list of all packages at right now hover over one and Right-Click, in the context nebu > All in this List > Update if newer version available.
As I have only Packman as an extra repo, I do the last action using the Repositories from the View meny, then choose Packman at left and the same as above at right.

Sorry, my attempt to shortcut the volume of information in my original post obviously did not work as intended.

My current repo list is the result of a clean install from the downloaded DVD image, to which I have added Packman, the Mozilla repo to get more up to date Firefox an Thunderbird and the Geo repository as I like to run the FOSS opencpn app. In addition are the 4 Repos specified in the referenced https://en.opensuse.org/SDB:KDE_repositories
That SDB item instructs me to execute the following

zypper ar -p 75 'https://download.opensuse.org/repositories/KDE:/Qt5/openSUSE_Leap_$releasever' KDE-Qt5
zypper ar -p 75 'https://download.opensuse.org/repositories/KDE:/Frameworks5/openSUSE_Leap_$releasever' KDE-Frameworks
zypper ar -p 75 'https://download.opensuse.org/repositories/KDE:/Applications/KDE_Frameworks5_openSUSE_Leap_$releasever' KDE-Applications
zypper ar -p 75 'https://download.opensuse.org/repositories/KDE:/Extra/KDE_Applications_openSUSE_Leap_$releasever' KDE-Extra
zypper -v dup --allow-vendor-change

I have not executed the final command, the zypper dup, which the SDB reference states is the only way to activate the switch to the Frameworks Repo version of 15.3.
The SDB text implies that YAST will not properly follow the assigned repo priorities, as I read it.

Here is the repo list with -d to show the URLs and -P to sidplay tht the repo priorities are as specified in the SDB item
I do understand your desire to have URLs displayed.

**PVE-LinuxSRV8-Ryzen:/etc #** zypper lr -P -d 
#  | Alias                                        | Name                                                                                        | Enabled | GPG Check | Refresh | Priority | Type     | URI                     
                                                                        | Service 
---+----------------------------------------------+---------------------------------------------------------------------------------------------+---------+-----------+---------+----------+----------+-------------------------
------------------------------------------------------------------------+-------- 
 3 | KDE-Applications                             | KDE-Applications                                                                            | Yes     | (r ) Yes  | Yes     |   75     | rpm-md   | https://download.opensus
e.org/repositories/KDE:/Applications/KDE_Frameworks5_openSUSE_Leap_15.3 |  
 4 | KDE-Extra                                    | KDE-Extra                                                                                   | Yes     | (r ) Yes  | Yes     |   75     | rpm-md   | https://download.opensus
e.org/repositories/KDE:/Extra/KDE_Applications_openSUSE_Leap_15.3       |  
 5 | KDE-Frameworks                               | KDE-Frameworks                                                                              | Yes     | (r ) Yes  | Yes     |   75     | rpm-md   | https://download.opensus
e.org/repositories/KDE:/Frameworks5/openSUSE_Leap_15.3                  |  
 6 | KDE-Qt5                                      | KDE-Qt5                                                                                     | Yes     | (r ) Yes  | Yes     |   75     | rpm-md   | https://download.opensus
e.org/repositories/KDE:/Qt5/openSUSE_Leap_15.3                          |  
 7 | ftp.gwdg.de-openSUSE_Leap_$releasever        | Packman Repository                                                                          | Yes     | (r ) Yes  | Yes     |   85     | rpm-md   | http://ftp.gwdg.de/pub/l
inux/misc/packman/suse/openSUSE_Leap_15.3/                              |  
 8 | openSUSE_Leap_15.3                           | Mozilla openSUSE_Leap_15.3                                                                  | Yes     | (r ) Yes  | Yes     |   90     | rpm-md   | https://download.opensus
e.org/repositories/mozilla/openSUSE_Leap_15.3/                          |  
 1 | Application_Geo_OpenCPN                      | OpenCPN (openSUSE_Leap_15.2)                                                                | Yes     | (r ) Yes  | Yes     |   98     | rpm-md   | https://download.opensus
e.org/repositories/Application:/Geo:/OpenCPN/openSUSE_Leap_15.2/        |  
 9 | opensuse-guide.org-openSUSE_Leap_$releasever | Libdvdcss Repository                                                                        | Yes     | (r ) Yes  | Yes     |   98     | rpm-md   | http://opensuse-guide.or
g/repo/openSUSE_Leap_15.3/                                              |  
11 | repo-backports-update                        | Update repository of openSUSE Backports                                                     | Yes     | (r ) Yes  | Yes     |   98     | rpm-md   | http://download.opensuse
.org/update/leap/15.3/backports/                                        |  
16 | repo-non-oss                                 | Non-OSS Repository                                                                          | Yes     | (r ) Yes  | Yes     |   98     | rpm-md   | http://download.opensuse
.org/distribution/leap/15.3/repo/non-oss/                               |  
17 | repo-oss                                     | Main Repository                                                                             | Yes     | (r ) Yes  | Yes     |   98     | rpm-md   | http://download.opensuse
.org/distribution/leap/15.3/repo/oss/                                   |  
19 | repo-sle-update                              | Update repository with updates from SUSE Linux Enterprise 15                                | Yes     | (r ) Yes  | Yes     |   98     | rpm-md   | http://download.opensuse
.org/update/leap/15.3/sle/                                              |  
21 | repo-update                                  | Main Update Repository                                                                      | Yes     | (r ) Yes  | Yes     |   98     | rpm-md   | http://download.opensuse
.org/update/leap/15.3/oss                                               |  
22 | repo-update-non-oss                          | Update Repository (Non-Oss)                                                                 | Yes     | (r ) Yes  | Yes     |   98     | rpm-md   | http://download.opensuse
.org/update/leap/15.3/non-oss/                                          |  
 2 | Downloads                                    | Downloads                                                                                   | Yes     | ( p) Yes  | No      |  100     | plaindir | dir:/home/carl/Downloads
                                                                        |  
12 | repo-debug                                   | Debug Repository                                                                            | No      | ----      | ----    |  106     | NONE     | http://download.opensuse
.org/debug/distribution/leap/15.3/repo/oss/                             |  
10 | repo-backports-debug-update                  | Update repository with updates for openSUSE Leap debuginfo packages from openSUSE Backports | No      | ----      | ----    |  107     | NONE     | http://download.opensuse
.org/update/leap/15.3/backports_debug/                                  |  
18 | repo-sle-debug-update                        | Update repository with debuginfo for updates from SUSE Linux Enterprise 15                  | No      | ----      | ----    |  107     | NONE     | http://download.opensuse
.org/debug/update/leap/15.3/sle/                                        |  
13 | repo-debug-non-oss                           | Debug Repository (Non-OSS)                                                                  | No      | ----      | ----    |  109     | NONE     | http://download.opensuse
.org/debug/distribution/leap/15.3/repo/non-oss/                         |  
14 | repo-debug-update                            | Update Repository (Debug)                                                                   | No      | ----      | ----    |  109     | NONE     | http://download.opensuse
.org/debug/update/leap/15.3/oss/                                        |  
15 | repo-debug-update-non-oss                    | Update Repository (Debug, Non-OSS)                                                          | No      | ----      | ----    |  109     | NONE     | http://download.opensuse
.org/debug/update/leap/15.3/non-oss/                                    |  
20 | repo-source                                  | Source Repository                                                                           | No      | ----      | ----    |  109     | NONE     | http://download.opensuse
.org/source/distribution/leap/15.3/repo/oss/                            | 



The root of my question is as follows

  • https://en.opensuse.org/SDB:KDE_repositories makes it clear (to me) that the update mechanism must honor the Repo Priority setting.
  • Several releases ago I recall a comment made that it was pointless to play with repo priorities since YAST did not honor (implement) them.
    If that is true, it seems over time the Frameworks file list might become compromised by newer versions of those system files.
    I emphasize that that was many releases ago that I saw that comment.
  • In the past for many releases since Frameworks was implemented, I have used YAST update as you describe here
You can do the equivalent of zypper up with YaST > Software >  Software Management, then from the View menu: Package Classification,  then at left: All packages; in the list of all packages at right now  hover over one and Right-Click, in the context nebu > All in this  List > Update if newer version available.
  • and now I know from you that is the equivalent of “zypper up”

I hope this clarifies my question

Yast—software Installation—Package----- All Packages----- Update if newer Version is available = zypper up.

zypper up and zypper dup will not change any installed package from one Repo to another.

zypper dup --allow-vendor-change will change package from one Repo to another depending on Priority or Version .

So I would use zypper dup --allow-vendor-change --from REPO to switch packages to the Versions of a special Repo.

Thank you for expanding on Henk’s identification of what zypper up is in Yast equivalence.
Would it be correct to add to the list

**zypper dup --allow-vendor-change --from REPO **is same as Yast—software Management — Repositories — REPO —Switch System Packages ??

I assume the SDB guide uses the command line version of the switch since it is more precise than a text description of a GUI interface; that makes sense to me.

And another question, because I have seen a Yast Switch to Packman choose older file versions:-Repo Priority has seniority over file version when executing **zypper dup --allow-vendor-change,
**thus if Repox contains file.ver_old and Repoy contains file.ver_newer and both repos are enabled,
then **zypper dup --allow-vendor-change **will install **file.version_old **if Priority(Repox) < Priority(Repoy)
because Priority=0 is the highest priority, but will install file.version newer if the Priorities are the same.

Is that correct?

Better late than never to get some of thee long standing questions clarified.
Thanks

1 Like

Yes, you’ve got it.

As for older version – zypper is actually looking at the version number. And the version number for the packman repo is not synchronized with that for the openSUSE repos. So while it might look older, it could actually be newer.

1 Like

Thanks for that clarification

In the mean time (me taking my well earned sleep) you got it all.

The main source of confusion was I think that you said installing repos with zypper dup, while it now is clear you did zypper ar for that.