Hi,
I’m in the weird spot again, where I want to update my Tumbleweed system and am lost in a dependency hell. It more or less occurs once in a while when updates drop and the prompt asks if I want to install stuff from vendor “obs://build.opensuse.org/home:wolfi323” replacing the obsolete stuff from the official openSUSE vendor.
As soon as I read wolfi323, I get fucking Vietnam flashbacks, because it means I will have to decide for ~100 services if I keep the current obsolote version or install the one from wolfi323. Either way, it’s gonna fuck up a myriad of dependencies.
All that hassle just to do the same shit all over again because at some point, the official opensuse repos catch up with newer versions.
I could probably wait for the official updates, but it’s uncertain, when they are going to drop and I’ll just pile up thousands of updates in the meantime.
How do the Tumbleweed Folks among us deal with this?
How do the Tumbleweed Folks among us deal with this?
We generally don’t add many third party repos and we set repository priorities. If I understand this correctly, you are currently using official openSUSE packages and your upgrade is prompting you to upgrade them by changing vendor to this home:wolfi repo. If you want to keep the original packages, you just need to set priorities: in YaST 's “Software Repositories” page for instance, you can select a repo and see what its priority is (99 is the lowest priority, 1 is the highest). You could for instance put the official repos at 95 priority and the wolfi repo at 99. This way, packages will remain set on the official repos even if there are new versions on the other repo.
However, if you have packages that you want to get from the wolfi repo but are also in the official repos, with this method you will be asked to change those packages to the official repos, the inverse situation compared to your issue. You can tell the system to keep those packages from your chosen repo, I do it by choosing a version on the YaST Software page.
People need to stop addint ramdom home repos and openSUSE finally needs to communicate that the proper way is to fork wanted packes into your own https://build.opensuse.org home repo.
You’re absolute right with the random repos. Yet, when I started a year ago, I was pretty new to the whole linux thing and allowed myself some experimenting.
Configuring the priority of the repository.
In OpenSuse, the priority of a repository is a value between 1 and 200, with 1 being the highest priority and 200 the lowest priority. If a package is available in more than one repository, then the repository with the highest priority takes precedence. Default is 99.
This is how I do via terminal:
List enabled repositories in priority order:
zypper lr -PE
In my case, the repo I want to change is:
4 | home_paul4us | home:paul4us | Yes | (r ) Yes | No | 99
(First column is the ID and last is PRIORITY)
Lower the 3rd party repo priority (set PRIORITY of the repository with ID 4 the value of 100):
sudo zypper mr -p 100 4
You will see the message:
Repository 'home_paul4us' priority has been set to 100.
Bonus
If you want to list what is installed from this repo (id 4):
zypper se -i -r 4
I set lower priorites (higher number) for all repos from OBS and such. The only repo that has a higher priority is Packman. You can see your priorities with “zypper lr -p”, and set priorities with " zypper mr -p 100 <repo-id>".
Use the --allow-vendor-change
flag (I think that’s it, I can’t look it up at the moment) and it will happily switch between vendors without bugging you.
Or just remove the repo, but I guess you need it for other stuff.