Bug 536903 - zypper installs from repo with lower priority although packages are available on higher pty-repo
Summary: zypper installs from repo with lower priority although packages are available...
Status: RESOLVED INVALID
Alias: None
Product: openSUSE 11.2
Classification: openSUSE
Component: libzypp (show other bugs)
Version: Milestone 7
Hardware: Other SUSE Other
: P4 - Low : Enhancement (vote)
Target Milestone: ---
Assignee: E-mail List
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-04 18:22 UTC by Elmar Stellnberger
Modified: 2009-09-29 13:53 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
/var/log/zypp/history (369.96 KB, application/octet-stream)
2009-09-04 18:23 UTC, Elmar Stellnberger
Details
/var/log/zypper.log (457.66 KB, application/x-bzip)
2009-09-04 18:32 UTC, Elmar Stellnberger
Details
archived zypper log (644.88 KB, application/x-bzip)
2009-09-04 18:33 UTC, Elmar Stellnberger
Details
--requires of vlc-noX without matching --whatprovides (730 bytes, text/plain)
2009-09-27 15:32 UTC, Elmar Stellnberger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Elmar Stellnberger 2009-09-04 18:22:00 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
Comment 1 Elmar Stellnberger 2009-09-04 18:23:30 UTC
Created attachment 316846 [details]
/var/log/zypp/history
Comment 2 Elmar Stellnberger 2009-09-04 18:32:32 UTC
Created attachment 316851 [details]
/var/log/zypper.log
Comment 3 Elmar Stellnberger 2009-09-04 18:33:45 UTC
Created attachment 316853 [details]
archived zypper log
Comment 4 Elmar Stellnberger 2009-09-04 18:34:30 UTC
Bug 535482 is about finding out what went wrong.
Comment 5 Elmar Stellnberger 2009-09-05 08:50:05 UTC
*** Bug 535482 has been marked as a duplicate of this bug. ***
Comment 6 Michael Andres 2009-09-07 11:21:41 UTC
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?
Comment 7 Jan Kupec 2009-09-07 13:28:34 UTC
(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.
Comment 8 Michael Andres 2009-09-07 14:57:59 UTC
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.
Comment 9 Elmar Stellnberger 2009-09-14 17:47:47 UTC
 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
Comment 10 Elmar Stellnberger 2009-09-14 17:58:12 UTC
* 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.
Comment 11 Duncan Mac-Vicar 2009-09-22 11:58:24 UTC
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.
Comment 12 Elmar Stellnberger 2009-09-25 16:04:55 UTC
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?
Comment 13 Stefan Dirsch 2009-09-25 19:46:49 UTC
No idea what's your issue and what you would like to achieve.
Comment 14 Elmar Stellnberger 2009-09-27 08:34:43 UTC
  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.
Comment 15 Stefan Dirsch 2009-09-27 09:03:13 UTC
Thanks. What are repos I and II exactly? Where does vlc come from?
Comment 16 Elmar Stellnberger 2009-09-27 10:31:56 UTC
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.
Comment 17 Stefan Dirsch 2009-09-27 10:49:30 UTC
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?
Comment 18 Elmar Stellnberger 2009-09-27 15:12:53 UTC
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
Comment 19 Elmar Stellnberger 2009-09-27 15:30:24 UTC
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)
Comment 20 Elmar Stellnberger 2009-09-27 15:32:57 UTC
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
Comment 21 Stefan Dirsch 2009-09-27 19:30:59 UTC
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.
Comment 22 Elmar Stellnberger 2009-09-28 09:39:57 UTC
  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.
Comment 23 Michael Andres 2009-09-29 13:53:07 UTC
This kind of constraint has to be defined by the packager, and the mechanism are package dependencies.