Dne středa 24. srpna 2022 13:51:07 CEST, Andrei Borzenkov napsal(a):
On 24.08.2022 14:41, Vojtěch Zeisek wrote:
Installation of libavcodec59 from Packman fails: $ sudo zypper in --repo Packman libavcodec59 Loading repository data... Reading installed packages... 'libavcodec59' is already installed. There is an update candidate for 'libavcodec59' from vendor 'http://packman.links2linux.de', while the current vendor is 'openSUSE'. Use 'zypper install libavcodec59-5.1-2.7.x86_64' to install this candidate. There is an update candidate for 'libavcodec59', but it comes from a repository with a lower priority. Use 'zypper install libavcodec59-5.1-2.7.x86_64' to install this candidate. Resolving package dependencies... Nothing to do. $ sudo zypper in --repo Packman libavcodec59-5.1-2.7.x86_64 Loading repository data... Reading installed packages... Resolving package dependencies... Problem: nothing provides 'libjxl.so.0.7()(64bit)' needed by the to be installed libavcodec59-5.1-2.7.x86_64
Well, you artificially restricted the list of available repositories for this invocation to just Packman so zypper could not find/use package from standard Tumbleweed. I do not know why you used "--repo Packman" in the first place.
I use "--repo Packman" because otherwise zypper would install it from OSS as that repo has higher priority.
Solution 1: do not install libavcodec59-5.1-2.7.x86_64 Solution 2: break libavcodec59-5.1-2.7.x86_64 by ignoring some of its dependencies Choose from above solutions by number or cancel [1/2/c/d/?] (c): c OK, so I manually installed libjxl0_7 and then installation of libavcodec59 from Packman worked. Now, I must just lock the package(s) from that repo so 'zypper dup' doesn't overwrite them every time. And now, as I have... $ LC_ALL=C zypper lr -p # | Alias | Name | Enabled | GPG Check | Refresh | Priority ---+---------------------+--------------------+---------+-----------+ ---------+--------- 10 | packman | Packman | Yes | (r ) Yes | Yes | 120 14 | tw-non-oss | tw-non-oss | Yes | (r ) Yes | Yes | 99 15 | tw-oss | tw-oss | Yes | (r ) Yes | Yes | 99 16 | tw-update | tw-update | Yes | (r ) Yes | Yes | 99 ...how do I keep libavcodec packages from Packman and in other cases give priority to main OSS repo?
zypper does not switch vendors by default so either packages will be updated from Packman or you may get some package dependencies problem (like above) that you need then resolve manually. Unless you changed default configuration and allowed vendor change.
zypp.conf has the default "solver.allowVendorChange = false", so this should be fine...? The only issue might be that libjxl0_7 is available only in OSS and not Packman, but this shouldn't be problem, should it...? -- Vojtěch Zeisek https://trapa.cz/ Komunita openSUSE GNU/Linuxu Community of the openSUSE GNU/Linux https://www.opensuse.org/