Bugzilla – Bug 536903
zypper installs from repo with lower priority although packages are available on higher pty-repo
Last modified: 2009-09-29 13:53:07 UTC
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.1.2) Gecko/20090730 SUSE/3.5.2-2.4 Firefox/3.5.2 Zypper has installed several packages from os11.1-repo-oss after adding it although these packages have been available on the core system repos given a higher priority like xorg-x11-libs which has corrupted my system. Adding repos of previous distros is often necessary because not all packages are provided by the newest release. Reproducible: Always
Created attachment 316846 [details] /var/log/zypp/history
Created attachment 316851 [details] /var/log/zypper.log
Created attachment 316853 [details] archived zypper log
Bug 535482 is about finding out what went wrong.
*** Bug 535482 has been marked as a duplicate of this bug. ***
In you case it looks like your request to install vlc (from packamann) causes the downgrade from xorg-x11-libs-7.4-42.1 to xorg-x11-libs-7.4-8.1 (from os11.1-repo-oss). - If no package from a high priority repo is installable (! not available), then the solver may choose one from a lower prio repo. Looks like vlc requires this older version. So the solver is right in choosing this version. - zypper installs with forceresolve, otherwise the solver would have reported the downgrade as a problem, and you had to confirm it. This is AFAIK meanwhile fixed. @Jano: Zypper does not use forceresolve anymore as default for installation/update?
(In reply to comment #6) > @Jano: Zypper does not use forceresolve anymore as default for > installation/update? I propose another solution, see bug 535432 c#12.
As the repo priority handling is right -> INVALID. Behavior and reporting of deletion/downgrades due to zypper in using force resolve can be tracked at bug 535432.
Reinstalling with Milestone 7 I have run into the same problem again, zypper not even displaying the provider change for xorg-x11-libs: Die folgenden Pakete werden den Hersteller ändern: DirectFB openSUSE -> openSUSE Build Service hplip openSUSE -> http://packman.links2linux.de iwl4965-ucode openSUSE -> openSUSE Build Service libexiv2-5 openSUSE -> openSUSE Build Service libgpod4 openSUSE -> http://packman.links2linux.de libgpod-tools openSUSE -> http://packman.links2linux.de libpixman-1-0-32bit openSUSE -> openSUSE Build Service libqjson0 openSUSE -> openSUSE Build Service libtheora0 openSUSE -> Packman libvisual openSUSE -> openSUSE Build Service libxine1 openSUSE -> http://packman.links2linux.de libxine1-gnome-vfs openSUSE -> http://packman.links2linux.de libxine1-pulse openSUSE -> http://packman.links2linux.de usb_modeswitch openSUSE -> http://packman.links2linux.de x11-input-wacom openSUSE -> openSUSE Build Service x11-input-wacom-tools openSUSE -> openSUSE Build Service xorg-x11-driver-input openSUSE -> openSUSE Build Service xorg-x11-driver-video openSUSE -> openSUSE Build Service xorg-x11-driver-video-radeonhd openSUSE -> openSUSE Build Service xorg-x11-fonts openSUSE -> openSUSE Build Service xorg-x11-libICE-32bit openSUSE -> openSUSE Build Service xorg-x11-libs-32bit openSUSE -> openSUSE Build Service xorg-x11-libX11-32bit openSUSE -> openSUSE Build Service xorg-x11-libX11-ccache openSUSE -> openSUSE Build Service xorg-x11-libxcb-32bit openSUSE -> openSUSE Build Service xorg-x11-libXext-32bit openSUSE -> openSUSE Build Service xorg-x11-libXfixes-32bit openSUSE -> openSUSE Build Service > grep 'xorg-x11-libs|' /var/log/zypp/history 2009-09-09 06:22:03|install|xorg-x11-libs|7.4-24.1|x86_64|root@opensuse|InstallationImage|150c23cd41ceddaf3a593f28ac78627949fb32e6 2009-09-15 01:29:45|install|xorg-x11-libs|7.4-8.1|x86_64||os11.1-repo-oss|8a75b3caf9a66c5bc0fa2244d4d57b5a1ae8c2bc
* Why was the switch of xorg-x11-libs not reported? It destroys the system! * The issue is simply too important to be ignored. The problem could even have arosen on two different Xorg-compilations being available for Opensuse 11.2 as well. A similar problem can arise any time again. My suggestion to resolve the problem is as follows: It should be possible to organize packages in bundles. That means if one package of xorg-x11 should switch the provider all the others will need to switch either. Mixing two different compilation runs of Xorg or any other contiguous software bundle is fatal and must be prevented.
No, if the packages are not compatible that should be expressed at the dependency level, otherwise it is a packaging bug. There is no need to add another layer of complexity on top. Please file a bug against the xorg packages.
O.K. I think reassigning to Xorg should do it as well. How can we prevent different compilation runs (here: from different distro releases) of Xorg from being mangeled? If I install vlc a singleton xorg package of Xorg (xorg-x11-libs) is taken from a different compilation of Xorg. How can we achieve the packages of a singleton compilation run of Xorg to stick together so that they are either up- or downgraded in unison?
No idea what's your issue and what you would like to achieve.
I have two repos. Both offer Xorg. If I install vlc dependencies require xorg-x11-libs to be installed from repo II while all other xorg packages are still installed from reopo I. The two possible solutions are either to ignore the dependency of vlc or to downgrade the whole of Xorg to repo II. Mixing xorg-packages from both repos I and II is fatal and renders my system unusable. So what I require is a mechanism to prevent different compilation runs of xorg from being mangeled; especially from OpenSuse 11.0, 11.1, 11.2, but also from the buildservice repo as this will trigger unforeseeable effects.
Thanks. What are repos I and II exactly? Where does vlc come from?
vlc: os11.1-packman os11.1-packman: http://ftp.skynet.be/pub/packman/suse/11.1 xorg-x11-libs: openSUSE-11.2-Oss, os11.1-repo-oss, ... openSUSE-11.2-Oss: http://download.opensuse.org/distribution/11.2/repo/oss/ os11.1-repo-oss: http://download.opensuse.org/distribution/11.1/repo/oss/ Usually no packages are drawn from the os11.1-repo since it has a lower priority unless a dependency requires it. It is rather clear that intermangling os11.1 & os11.2 Xorg packages will lead to a fatal error. Nonetheless I would not feel save either intermangling the os11.1-release repo and the os11.1-buildservice repo; similar errors can occur. Besides this it is sometimes necessary to install certain packages from a previous distro since a couple of packages are only provided for the x.0-releases like f.i. kentstats.
Thanks. Which distribution are you running? 11.1 or 11.2? If you're still running 11.1 I would recommend to use http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.1/ instead of http://download.opensuse.org/distribution/11.2/repo/oss/ since the packages in X11:XOrg/openSUSE_11.1 are built against openSUSE 11.1. Additionally I would need to know why vlc requires xorg-x11 from the 11.1 repo. What are the deps, which cannot be fullfilled by xorg-x11 from X11:XOrg/openSUSE_11.1?
running os11.2 YaST2 reports the following: vlc-noX-1.0.1-3.pm.4.6.i586 requires libkate.so.1, but this requirement cannot be provided uninstallable providers: libkate1-0.3.6-0.pm.1.1.i586[os11.1-packman] [ ] do not install vlc-1.0.1-3.pm.4.6.x86_64 [ ] Ignore some dependencies of vlc-noX [ ] Following actions will be done: architecture change of vlc-noX-1.0.1-3.pm.4.2.i586 to vlc-noX-1.0.1-3.pm.4.6.x86_64 downgrade of xorg-x11-libs-7.4-23.7.x86_64 to xorg-x11-libs-7.4-8.1.x86_64 downgrade of startup-notification-0.10-1.14.x86_64 to startup-notification-0.9-59.60.x86_64
Could not spot any matching provides-requires between xorg-x11-libs and vlc/vlc-noX except perhaps: - libxcb-keysyms.so.0 vlc-noX + libxcb-keysyms.so.1()(64bit) xorg-x11-libs (chosen to ignore dependencies of vlc-noX; so there could be other unsatisfied dependencies of vlc-noX)
Created attachment 320045 [details] --requires of vlc-noX without matching --whatprovides rpm -q --requires vlc-noX| xargs rpm -q --whatprovides | sed -n 's#^no package provides ##p' >notprovided
So the issue is that you're trying to use a 11.1 repo (with packages built against 11.1 of course) on a 11.2 system. I don't believe packman provides 11.2 repos before 11.2 is done, so for now you need to decide whether you want to rely on packman packages and use already released openSUSE releases or use factory and do without any packman packages. Of course you can also build vlc yourself. In any case this is definitely an invalid bugreport and personally I think it's a pity that we lose so much developer resources by working on such topics. :-( It would be better to use this time for real issues. We have a lot of them.
It is a pity that developers pay so little attention to real users needs and keep shouting instead if something isn`t doable easily. Several packages always use not to be available for the exact release requiring to add respective repos also for the final release. If there is currently no mechanism available to prevent this kind of error as Duncan Mac-Vicar Prett has indicated we should possibly think about implementing one in the future; reassigning to libzypp/Enhancement.
This kind of constraint has to be defined by the packager, and the mechanism are package dependencies.