Bugzilla – Bug 293401
Update from 10.2 to 10.3 Alpha 6 - conflicts/resolverTestcase
Last modified: 2007-09-07 10:59:16 UTC
attached the files conflicts/resolverTestcase
Created attachment 152144 [details] conflicts.txt
Created attachment 152146 [details] YaST2.tar.bz2
Now attaching x84_64 data
Created attachment 152174 [details] YaST2.x86_64.tar.bz2
Created attachment 152178 [details] conflicts.x86_64.txt
Created attachment 155169 [details] conflicts.txt Conflicts from 10.2 to Alpha7
Created attachment 155171 [details] y2logs.tar.bz2 resolverTestcase
Can't satisfy requirement curl == 7.15.5 for curl-devel-7.15.5-23.i586 curl-devel is provided by libcurl-devel and this should be used for update. Stefan, can you please have a look - also Holgi says the solver takes a while, perhaps you want to benchmark :)
List of left packages (for tracking) 1183990499 yast2-bootfloppy 1183990509 samba-pdb 1183990597 jaf 1183990630 pkgconfig 1183990646 rsaref 1183990648 ash 1183990651 sqlite-zmd 1183990656 cpp41 1183990670 mysql-shared 1183990674 db 1183990675 db41 1183990716 mm 1183990777 libcdio 1183990855 gnome-filesystem 1183991054 db-devel 1183991078 gcc41 1183991078 jta 1183991115 libstdc++41-devel 1183991134 jai 1183991185 limal-bootloader 1183991255 gcc41-c++ 1183991262 glib-sharp 1183991350 pinentry-qt 1183991458 gtk-sharp-gapi 1183991467 ant-jai 1183991473 art-sharp 1183991617 libkexif 1183991638 gtkdoc 1183991829 gtk-sharp 1183991840 libgcj41 1183991895 pinentry-gtk2 1183991911 vte-sharp 1183991935 gcc41-gij 1183991942 glade-sharp 1183992030 libgcj41-devel 1183992060 kino 1183992213 gcc41-java 1183992436 gaim-devel 1183992504 gecko-sharp 1183992554 gnome-sharp 1183992572 gconf-sharp 1183992638 gtk-sharp-complete 1183992705 yast2-powertweak 1183995439 tomcat5 1183995831 opensuse-updater
This package has wrong dependencies: <package> <name>libcurl-devel</name> <history> <update> <arch>i586</arch> <version>7.16.3</version><release>6</release> </update> </history> <provides> <dep name='libcurl-devel' op='==' version='7.16.3' release='6' kind="package" /> <dep name='curl-devel' op='==' version='7.16.3' release='6' kind="package" /> </provides> <obsoletes> <dep name='curl-devel' op='<' version='7.16.2' kind="package" /> </obsoletes> <requires> <dep name='/bin/sh' kind="package" /> <dep name='zlib-devel' kind="package" /> <dep name='openssl-devel' kind="package" /> <dep name='libcurl4' op='==' version='7.16.3' kind="package" /> <dep name='libidn-devel' kind="package" /> </requires> </package> ------------------------------------------------------------- Renaming of packages: Name: package Version: 1.1 Requires: Provides: pac = 1.0 Obsoletes: pac <= 1.0
discovery:/tmp# rpm -qa | grep curl curl-7.15.5-27.1 curl-devel-7.15.5-27.1 discovery:/tmp# rpm -Uvh --test libcurl4-7.16.3-6.x86_64.rpm libcurl-devel-7.16.3-6.x86_64.rpm curl-7.16.3-6.x86_64.rpm curl-ca-bundle-7.16.3-6.x86_64.rpm ; echo $? Preparing... ########################################### [100%] 0 discovery:/tmp# rpm -Uvh libcurl4-7.16.3-6.x86_64.rpm libcurl-devel-7.16.3-6.x86_64.rpm curl-7.16.3-6.x86_64.rpm curl-ca-bundle-7.16.3-6.x86_64.rpm ; echo $? Preparing... ########################################### [100%] 1:curl-ca-bundle ########################################### [ 25%] 2:libcurl4 ########################################### [ 50%] 3:libcurl-devel ########################################### [ 75%] 4:curl ########################################### [100%] 0 discovery:/tmp# rpm -qa | grep curl curl-ca-bundle-7.16.3-6 libcurl-devel-7.16.3-6 libcurl4-7.16.3-6 curl-7.16.3-6 discovery:/tmp# Does the zypp solver behave differently than rpm? If so, why?
There is no different. The obsolete is OK, but not the provides: <dep name='curl-devel' op='==' version='7.16.3' release='6' There is nor curl-devel with that version on the system (only 7.15.5), so curl-devel will not be updated/renamed by libcurl-devel.
OK, so if I add Provides: curl-devel = 7.15.5, it will work when updating from 10.2. What about an update from 10.1, which had 7.15.1? IMO the solver tries to protect too much in this case (if the package was not renamed, then a curl-devel-7.16.3 would not provide curl-devel = 7.15.5 either). I'll submit a fixed package nevertheless.
I submitted a fixed curl package. Back to coolo.
Then take a provides with a version "less than" or without any version. It is not the solver here :-)
Now it's "Provides: curl-devel <= 7.15.5". That should hopefully work in all cases...
There are no installable providers of wlan-kmp for ipw3945d-1.7.18-29.i586 jg will obsolete by iwlwifi
Related: the kmp packages: Can't satisfy requirement kernel(xen:drivers_usb_core) == 8f25719bb1355a25 for wlan-kmp-xen-1_2.6.18.2_34-16.i586 These aren't obsoleted either
comment #9 I have found some more packages: < <uninstall kind="package" name="ant-jai"/> < <uninstall kind="package" name="art-sharp"/> < <uninstall kind="package" name="ash"/> < <uninstall kind="package" name="cpp41"/> < <uninstall kind="package" name="curl-devel"/> < <uninstall kind="package" name="db"/> < <uninstall kind="package" name="db41"/> < <uninstall kind="package" name="db-devel"/> < <uninstall kind="package" name="gaim-devel"/> < <uninstall kind="package" name="gcc41"/> < <uninstall kind="package" name="gcc41-c++"/> < <uninstall kind="package" name="gcc41-gij"/> < <uninstall kind="package" name="gcc41-java"/> < <uninstall kind="package" name="gconf-sharp"/> < <uninstall kind="package" name="gecko-sharp"/> < <uninstall kind="package" name="glade-sharp"/> < <uninstall kind="package" name="glib-sharp"/> < <uninstall kind="package" name="gnome-filesystem"/> < <uninstall kind="package" name="gnome-mime-data"/> < <uninstall kind="package" name="gnome-sharp"/> < <uninstall kind="package" name="gpg"/> < <uninstall kind="package" name="gstreamer010-plugins-base-oil"/> < <uninstall kind="package" name="gstreamer010-plugins-base-visual"/> < <uninstall kind="package" name="gtkdoc"/> < <uninstall kind="package" name="gtk-sharp"/> < <uninstall kind="package" name="gtk-sharp-complete"/> < <uninstall kind="package" name="gtk-sharp-gapi"/> < <uninstall kind="package" name="ImageMagick-Magick++"/> < <uninstall kind="package" name="ipw3945d"/> < <uninstall kind="package" name="jai"/> < <uninstall kind="package" name="kino"/> < <uninstall kind="package" name="latex-ucs"/> < <uninstall kind="package" name="libcdio"/> < <uninstall kind="package" name="libcom_err"/> < <uninstall kind="package" name="libgcj41"/> < <uninstall kind="package" name="libgcj41-devel"/> < <uninstall kind="package" name="libgpod"/> < <uninstall kind="package" name="libkexif"/> < <uninstall kind="package" name="libmpcdec"/> < <uninstall kind="package" name="libmusicbrainz"/> < <uninstall kind="package" name="libstdc++41-devel"/> < <uninstall kind="package" name="libsyncml"/> < <uninstall kind="package" name="libzypp-zmd-backend"/> < <uninstall kind="package" name="limal-bootloader"/> < <uninstall kind="package" name="mm"/> < <uninstall kind="package" name="mysql-shared"/> < <uninstall kind="package" name="nfs-utils"/> < <uninstall kind="package" name="openssl-devel"/> < <uninstall kind="package" name="opensuse-updater"/> < <uninstall kind="package" name="pilot-link-devel"/> < <uninstall kind="package" name="pkgconfig"/> < <uninstall kind="package" name="rsaref"/> < <uninstall kind="package" name="samba-pdb"/> < <uninstall kind="package" name="sqlite-zmd"/> < <uninstall kind="package" name="te_latex"/> < <uninstall kind="package" name="tetex"/> < <uninstall kind="package" name="tomcat5"/> < <uninstall kind="package" name="vte-sharp"/> < <uninstall kind="package" name="wlan-kmp-xen"/> < <uninstall kind="package" name="xfce4-panel-plugins"/> < <uninstall kind="package" name="yast2-bootfloppy"/> < <uninstall kind="package" name="yast2-powertweak"/> < <uninstall kind="package" name="zen-updater"/> < <uninstall kind="package" name="zmd"/> < <uninstall kind="pattern" name="sw_management_x11"/>
wlan-kmp was splitted into several single packages. Am I right that every one of them shall obsolete wlan-kmp?
I guess so, yes.
comment #15 from Stefan Schubert) > Then take a provides with a version "less than" or without any version. > It is not the solver here :-) > http://en.opensuse.org/Upgrade_Dependencies#Renaming_a_package just says you should do: [[[ Name: package Version: 1.1 Provides: pac = 1.0 Obsoletes: pac <= 1.0 ]]] The documentation was provided by Klaus and other members of the zypp team. it seems atm we need [[[ Provides: pac <= 1.0 ]]] now i wonder what should be fixed? the documentation in the wiki? or the behavior of zypp?
we're testing a zypp change. Because that's the only logic consequence
OK, we have zypp changed. Here the new list: > <uninstall kind="package" name="ant-jai"/> > <uninstall kind="package" name="art-sharp"/> > <uninstall kind="package" name="ash"/> > <uninstall kind="package" name="cpp41"/> > <uninstall kind="package" name="db41"/> > <uninstall kind="package" name="gaim-devel"/> > <uninstall kind="package" name="gcc41"/> > <uninstall kind="package" name="gcc41-c++"/> > <uninstall kind="package" name="gcc41-gij"/> > <uninstall kind="package" name="gcc41-java"/> > <uninstall kind="package" name="gconf-sharp"/> > <uninstall kind="package" name="gecko-sharp"/> > <uninstall kind="package" name="glade-sharp"/> > <uninstall kind="package" name="glib-sharp"/> > <uninstall kind="package" name="gnome-filesystem"/> > <uninstall kind="package" name="gnome-mime-data"/> > <uninstall kind="package" name="gnome-sharp"/> > <uninstall kind="package" name="gtk-sharp"/> > <uninstall kind="package" name="gtk-sharp-complete"/> > <uninstall kind="package" name="gtk-sharp-gapi"/> > <uninstall kind="package" name="ImageMagick-Magick++"/> > <uninstall kind="package" name="ipw3945d"/> > <uninstall kind="package" name="jai"/> > <uninstall kind="package" name="kino"/> > <uninstall kind="package" name="latex-ucs"/> > <uninstall kind="package" name="libcdio"/> > <uninstall kind="package" name="libgcj41"/> > <uninstall kind="package" name="libgcj41-devel"/> > <uninstall kind="package" name="libkexif"/> > <uninstall kind="package" name="libstdc++41-devel"/> > <uninstall kind="package" name="libzypp-zmd-backend"/> > <uninstall kind="package" name="limal-bootloader"/> > <uninstall kind="package" name="mm"/> > <uninstall kind="package" name="mysql-shared"/> > <uninstall kind="package" name="opensuse-updater"/> > <uninstall kind="package" name="rsaref"/> > <uninstall kind="package" name="samba-pdb"/> > <uninstall kind="package" name="sqlite-zmd"/> > <uninstall kind="package" name="te_latex"/> > <uninstall kind="package" name="tetex"/> > <uninstall kind="package" name="tomcat5"/> > <uninstall kind="package" name="vte-sharp"/> > <uninstall kind="package" name="wlan-kmp-xen"/> > <uninstall kind="package" name="xfce4-panel-plugins"/> > <uninstall kind="package" name="yast2-bootfloppy"/> > <uninstall kind="package" name="yast2-powertweak"/> > <uninstall kind="package" name="zen-updater"/> > <uninstall kind="package" name="zmd"/>
Stefan, you looked at #4 - the one for alpha7 is in #7 - the list is a bit shorter then
Stefan, can you please update the test case or tell me what to do?
I do not know which repo you are currently use. So you have to call your testcase with the command <distupgrade delete_unmaintained="false"/> and a second run with the option <distupgrade delete_unmaintained="true"/> and evaluate the difference. example: <?xml version="1.0"?> <!-- full SLES upgrade --> <test> <setup> <system file="sles9-i386-packages.xml.gz"/> <channel name="test" file="sles10-beta3-i386-packages.xml.gz"/> </setup> <trial> <distupgrade delete_unmaintained="false"/> </trial> </test>
Well, how can I generate the channel xml? Or can I just as well use a <source url="dir:///mounts/dist/install/stable-x86" name="1"/> ?
Yes replace it by "your" channel <source url="dir:///mounts/dist/install/stable-x86" name="1"/>
Current diff: +>!> remove art-sharp-1.0.10-60.i586 +>!> remove asterisk-1.2.13-23.i586 +>!> remove asterisk-alsa-1.2.13-21.i586 +>!> remove asterisk-capi-0.7.1-21.i586 +>!> remove asterisk-spandsp-1.2.13-21.i586 +>!> remove gconf-sharp-1.0.10-60.i586 +>!> remove gecko-sharp-0.6-64.noarch +>!> remove glade-sharp-1.0.10-60.i586 +>!> remove glib-sharp-1.0.10-60.i586 +>!> remove gnome-sharp-1.0.10-60.i586 +>!> remove gtk-sharp-1.0.10-60.i586 +>!> remove gtk-sharp-complete-1.0.10-60.i586 +>!> remove gtk-sharp-gapi-1.0.10-60.i586 +>!> remove hal-gnome-0.5.8_git20061106-20.i586 +>!> remove jai-1.1.2.01-32.i586 +>!> remove libkexif-0.2.4-29.i586 +>!> remove libpri-1.2.4-20.i586 +>!> remove libtheora-1.0alpha5-41.i586 +>!> remove limal-bootloader-1.2.4-6.i586 +>!> remove mm-1.4.2-20.i586 +>!> remove mysql-shared-5.0.26-12.i586 +>!> remove opensuse-quickstart_de-10.2-5.noarch +>!> remove rsaref-2.0-541.i586 +>!> remove samba-pdb-3.0.23d-6.i586 +>!> remove tomcat5-5.0.30-55.noarch +>!> remove vte-sharp-1.0.10-60.i586 +>!> remove yast2-bootfloppy-2.14.14-3.i586 +>!> remove yast2-power-management-2.14.3-7.i586
Filed 300538 for opensuse-quickstart_de
300539 for hal-gnome
300540 for yast2-power-management and yast2-bootfloppy
libtheora should be obsoleted by libtheora0
I use still 3.13.13 btw
There are a couple of problems with the dependencies of the libtheora0 package - it has an explicit self-provide (minor) - it provides libtheora = <current-version> and obsoletes libtheora <= <current-version> I think the provides should be without version.
no, the provides and obsoletes are exactly as they should be. We clarified that once and for all - we fixed libzypp (#24) Stefan found the problem and I submitted a fixed package
Please document the 'once and for all' clarification at http://en.opensuse.org/Package_Dependencies#Renaming_a_package which still lists the _old_ version in the 'Provides' tag of the new package.
That does not matter and is actually better than providing the new version. But that doesn't matter - what matters it that's not providing a _lower_ version than the old one and that it provides by version at all. And this is all correct in the wiki
If I remove the already reported problems from the current list I end up with: +>!> remove art-sharp-1.0.10-60.i586 +>!> remove gconf-sharp-1.0.10-60.i586 +>!> remove gecko-sharp-0.6-64.noarch +>!> remove glade-sharp-1.0.10-60.i586 +>!> remove glib-sharp-1.0.10-60.i586 +>!> remove gnome-sharp-1.0.10-60.i586 +>!> remove gtk-sharp-1.0.10-60.i586 +>!> remove gtk-sharp-complete-1.0.10-60.i586 +>!> remove gtk-sharp-gapi-1.0.10-60.i586 +>!> remove jai-1.1.2.01-32.i586 +>!> remove libpri-1.2.4-20.i586 +>!> remove mm-1.4.2-20.i586 +>!> remove rsaref-2.0-541.i586 +>!> remove tomcat5-5.0.30-55.noarch +>!> remove vte-sharp-1.0.10-60.i586 mm-1.4 seems to be a simple bug: install libmm14-1.4.2-15.i586[tmp]
submitted package libmm14. Daniel, you dropped jai - is there a replacement or shall we obsolete 1.1.2?
Created attachment 162394 [details] solverTestcase.tar.bz2 Here are the results of Beta 3: Germany - 123 points ... ;-)
ok, we reenabled delete old packages, so the issue is gone. And the test case from #42 will be used to track such problems further
.