Bug 381772

Summary: zypper in gspcav-kmp-default wants to "reinstall" my computer
Product: [openSUSE] openSUSE 11.0 Reporter: Magnus Boman <captain.magnus>
Component: libzyppAssignee: Jan Kupec <jkupec>
Status: RESOLVED FIXED QA Contact: Duncan Mac-Vicar <dmacvicar>
Severity: Major    
Priority: P5 - None CC: coolo, mls, schubi
Version: Factory   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: solver test case

Description Magnus Boman 2008-04-21 03:13:54 UTC
Created attachment 209190 [details]
solver test case

Not sure if this one is related to Bug#381694 or not...

mblxsrv01:/home/mboman/Desktop # zypper dup
Reading installed packages...
Nothing to do.

mblxsrv01:/lib/modules/2.6.25-rc9-17-default/updates # zypper in gspcav-kmp-default
Reading installed packages...

The following packages are going to be upgraded:
  zypper zenity yelp yast2-users yast2-transfer yast2-storage-lib yast2-storage 
yast2-sound yast2-slp yast2-qt-pkg yast2-profile-manager yast2-pkg-bindings 
yast2-nis-client yast2-ncurses-pkg yast2-ldap yast2-hardware-detection 
yast2-fingerprint-reader yast2-control-center-gnome xscreensaver xsane 
xorg-x11-driver-video-radeonhd xine-lib xchat-gnome wv wpa_supplicant vino ufraw-gimp 
ufraw turnpike totem-plugin totem-pl-parser totem tomboy suspend skencil seahorse 
sax2-tools sax2-libsax-perl sax2-libsax sax2-gui sax2 sane-backends rsvg-view 
python-opengl python-imaging python-gstreamer-0_10 python-gnome-extras python-gnome 
python-compizconfig pulseaudio-utils pulseaudio-module-zeroconf 
pulseaudio-module-x11 pulseaudio-module-lirc pulseaudio-module-jack 
pulseaudio-module-gconf pulseaudio-module-bluetooth pulseaudio planner pidgin 
pcsc-lite pavumeter pavucontrol paprefs paman padevchooser orca openssh-askpass openssh 
opensc openct nautilus-share nautilus-sendto nautilus-open-terminal 
nautilus-gnome-main-menu nautilus-cd-burner nautilus multisync-gui 
mozilla-xulrunner190-gnomevfs mozilla-xulrunner190 mozilla-xulrunner181 metacity 
liferea libzypp libssui0 libssui librsvg libpurple libpulsecore4 libpulse0 
libpulse-mainloop-glib0 libpulse-browse0 libpisync0 libpisock9 libopensc2 libopenct1 
libofx4 libofx libnvtv libkonq4 libkdepimlibs4 libgwenhywfar38 libgweather1 
libgvfscommon0 libgstinterfaces-0_10-0 libgstapp-0_10-0 libgsf-gnome libgsf 
libgsf-1-114 libgphoto2 libgpgme11 libgnomeui libgnomesu0 libgnomesu libgnomekbd 
libgnomebt0 libgnome-desktop-2-2 libgnome libgmime-2_0-3 libgluezilla0 
libglademm-2_4-1 libgda-3_0-sqlite libgda-3_0-postgres libgda-3_0-mysql libgda-3_0 
libgda-3_0-3 libgda libgail-gnome libeel-2-2 libcompizconfig libbonoboui kdepimlibs4 
kdebase4-workspace-plasmoids kdebase4-workspace-branding-openSUSE 
kdebase4-workspace kdebase4-runtime kdebase4-openSUSE kde4-superkaramba kde4-kwin 
kde4-kio_sysinfo kde4-kcachegrind inkscape icewm-default hwinfo hplip-hpijs hplip 
hal-resmgr gwenhywfar gvfs-fuse gvfs-backends gvfs gucharmap gtkspell gtkmm2 gtkhtml2 
gstreamer-0_10-pulse gstreamer-0_10-plugins-ugly 
gstreamer-0_10-plugins-good-extra gstreamer-0_10-plugins-good 
gstreamer-0_10-plugins-farsight gstreamer-0_10-plugins-base 
gstreamer-0_10-plugins-bad gsf-sharp gphoto gpg2 goffice gnucash gnome-web-photo 
gnome-volume-manager gnome-vfs2 gnome-vfs-obexftp gnome-utils gnome-terminal 
gnome-system-monitor gnome-spell2 gnome-speech gnome-settings-daemon gnome-session 
gnome-screensaver gnome-python-desktop gnome-printer-add gnome-power-manager 
gnome-pilot gnome-panel gnome-packagekit gnome-nettool gnome-mount gnome-media 
gnome-main-menu gnome-mag gnome-keyring-pam gnome-keyring gnome-games gnome-docker 
gnome-do gnome-cups-manager gnome-control-center gnome-commander gnome-bluetooth 
gnome-applets gnet gmime glibmm2 glade gimp-plugins-python gimp ghex gedit gdm gconfmm 
gconf-editor gcalctool filters file-roller fast-user-switch-applet f-spot 
extragear-plasma evolution-webcal evolution-sharp evolution-pilot 
evolution-data-server evolution evince eog dia desktop-file-utils deskbar-applet 
dasher cups-backends cups-autoconfig compiz-gnome compiz-fusion-plugins-main compiz 
cheese cdrdao bug-buddy brasero bootsplash bluez-utils bluez-gnome beagle-gui beagle 
banshee-1-extensions-default banshee-1-backend-platform-unix 
banshee-1-backend-platform-gnome banshee-1-backend-engine-gstreamer banshee-1 
aqbanking alsa-plugins a2ps PolicyKit-gnome-libs PolicyKit-gnome PackageKit 
OpenOffice_org-writer OpenOffice_org-pyuno OpenOffice_org-math 
OpenOffice_org-impress OpenOffice_org-gnome OpenOffice_org-filters 
OpenOffice_org-calc OpenOffice_org-base OpenOffice_org 
NetworkManager-novellvpn-gnome NetworkManager-novellvpn NetworkManager-gnome 
NetworkManager-glib NetworkManager MozillaFirefox 3ddiag 


The following NEW packages are going to be installed:
  libaio-32bit libEMF gspcav-kmp-default 


The following packages are going to be re-installed:
  glibc-devel glibc zsh zlib zisofs-tools zip ypbind yp-tools yast2-ycp-ui-bindings 
yast2-xml yast2-qt yast2-printer yast2-perl-bindings yast2-ncurses yast2-libyui 
yast2-core yast2-control-center-qt xtermset xterm xpdf-tools xorg-x11-util-devel 
xorg-x11-server-extra xorg-x11-server xorg-x11-libxkbfile xorg-x11-libxcb 
xorg-x11-libs xorg-x11-libfontenc xorg-x11-libXv xorg-x11-libXt-devel 
xorg-x11-libXt xorg-x11-libXrender xorg-x11-libXprintUtil xorg-x11-libXpm 
xorg-x11-libXp xorg-x11-libXmu xorg-x11-libXfixes xorg-x11-libXext 
xorg-x11-libXdmcp xorg-x11-libXau xorg-x11-libX11 xorg-x11-libSM xorg-x11-libICE 
xorg-x11-fonts-devel xorg-x11-driver-video-unichrome xorg-x11-driver-video 
xorg-x11-driver-input xorg-x11-Xvnc xorg-x11 xlockmore xinetd xgl xdmbgrd 
x11-input-synaptics wol wodim wireless-tools wget wdiff w3m vte vsftpd vorbis-tools vlan 
vim-base vim vcdimager valgrind vacation uvcvideo-kmp-default uuid-runtime util-linux 
utempter usbutils unzip unrar unclutter udev transmission-gtk transmission tla tk tix 
timezone tightvnc tftp telnet tcsh tcpdump tcpd tcl tar taglib tack t1lib sysvinit syslog-ng 
syslinux sysfsutils sysconfig synergy suse-desktop-utils sudo subversion-perl 
subversion strigi strace startup-notification sqlite3 sqlite2 splashy spamassassin sox 
soprano smartmontools slang silc-toolkit sharutils shared-mime-info setserial sensors 
sed scsi scrollkeeper screen scpm satsolver-tools samba-client samba rsync rpm-python rpm 
resmgr reiserfs recode rarian quicksynergy qt3 pyxml python-xml python-tk python-sqlite2 
python-sip python-qt python-orbit python-numeric python-ldap python-gtkglext 
python-gtk python-gobject2 python-cairo python pwdutils pure-ftpd pth pstoedit psmisc 
procps procmail procinfo preload prctl pptp ppp powersave-libs powersave postgresql-libs 
postfix portmap popt pmtools pm-utils plotutils pkg-config pinentry-gtk2 pinentry 
phalanx permissions perl-gettext perl-base perl-XML-Parser perl-XML-Bare 
perl-Text-Iconv perl-TermReadLine-Gnu perl-TermReadKey perl-Net_SSLeay perl-Net-DNS 
perl-HTML-Parser perl-Digest-SHA1 perl-DBI perl-DBD-SQLite perl-Crypt-SSLeay 
perl-Crypt-DES perl-Crypt-Blowfish perl pcre pciutils pax patch parted pango pam-modules 
pam-config pam p7zip orbit2-devel orbit2 openssl opensp openslp openobex 
openldap2-client openjade obex-data-server numlockx ntp ntfsprogs ntfs-3g nss-mdns 
nspluginwrapper nscd novell-ipsec-tools notification-daemon nfsidmap nfs-client 
netpbm netcat net-tools ncurses-devel ncurses ncpfs nasm mtools mpt-status mozilla-nss 
mozilla-nspr mono-core module-init-tools mkinitrd mjpegtools mingetty microcode_ctl 
metamail mdadm mc man make mailx m4 lzo lzma lvm2 lukemftp lsof lomoco logrotate login lirc 
linux-atm-lib limal-perl limal-ca-mgm-perl limal-ca-mgm limal libzio libxslt 
libxml2-python libxml2 libxklavier12 libxcrypt libx86 libwps-0_1-1 libwpg-0_1-1 
libwpd-0_8-8 libwnck libwnck-1-22 libwmf libwavpack1 libvorbis libvolume_id libvisual 
libuuid1 libusb libtiff3 libthinkfinger libtheora0 libtasn1-3 libtasn1 libstrigi0 
libstdc++43 libsqlite3-0 libspeex libsoup-2_4-1 libsoprano4 libsnmp15 libsndfile 
libsmbios-libs libsmbclient0 libsigc++2 libsidplay1 libshout3 libsexy libsensors4 
libsensors3 libschroedinger-1_0-0 libsamplerate librpcsecgss libreiserfs libredland0 
libreadline5 libraw1394-8 librasqal0 libraptor1 libquicktime libqt4-x11 libqt4-sql 
libqt4-qt3support libqt4 libqimageblitz4 libpoppler3 libpoppler-glib3 libpng12-0 
libpcap libopensync-plugin-file libopensync libopenssl0_9_8 liboil libogg0 libnscd 
libnotify1 libnotify libnl libnetpbm10 libneon27 libncurses5 libmysqlclient15 
libmusicbrainz4 libmudflap43 libmtp7 libmpfr1 libmng liblzmadec0 liblua5_1 libltdl-3 
liblcms1 liblazy1 libksba libkdecore4 libkde4 libjpeg libjingle-0_3-0 libjasper 
libjack0 libiso9660-5 libiniparser libieee1284 libiec61883 libidn libidl libicu 
libgtop-2_0-7 libgtksourceview-2_0-0 libgtkimageview0 libgtkhtml libgthread-2_0-0 
libgstreamer-0_10-0 libgssglue1 libgsm1 libgpg-error0 libgpg-error-devel libgomp43 
libgobject-2_0-0 libgnutls26 libgnutls-extra26 libgnomeprintui libgnomeprint 
libgnomecups libgnomecanvas libgnome-menu2 libgmodule-2_0-0 libglib-2_0-0 libglade2 
libgio-fam libgio-2_0-0 libgimpprint libggz2 libgdiplus0 libgcrypt11 libgcrypt-devel 
libgcj43 libgcc43 libgalago libgadu libfuse2 libext2fs2 libexpat1 libexiv2-2 libexif 
libexempi3 libevent libesd0 libenchant1 libelf1 libedit0 libdvdread3 libdvdnav libdv4 
libdrm libdns_sd libdjvulibre15 libdb-4_5 libdaemon0 libcurl4 libcroco-0_6-3 libcroco 
libcom_err2 libcdio7 libcdaudio libcares2 libcap libbz2-1 libbtctl4 libbonobo 
libblocxx6 libblkid1 libbeagle1 libavc1394-0 libavahi-ui0 libavahi-glib1 
libavahi-core5 libavahi-common3 libavahi-client3 libattr libatk-1_0-0 libasound2 
libart_lgpl libarchive2 libapr1 libapr-util1 libapparmor1 libao libacl libMagickWand1 
libMagickCore1 libMagick++1 libFLAC8 less ldapcpplib kwatch ktoblzcheck ksymoops ksh 
krb5 kpartx klogd keyutils-libs kernel-default kdelibs4-core kdelibs4 
kdelibs3-default-style kdelibs3 kbd joe ispell irssi irqbalance iputils iptables 
iproute2 insserv input-utils initviocons info indent imlib ifplugd icedax hunspell-tools 
hunspell hdparm hal gzip gutenprint guile gtksourceview18 gtkglext gtk2-engines 
gtk2-devel gtk2 gtk-sharp2 gtk gstreamer-utils gstreamer-0_10-utils 
gstreamer-0_10-libschroedinger-1_0-0 gstreamer-0_10 groff grep graphviz-gd graphviz 
gpm gpart gnutls gnome-sharp2 gnome-menus gmp gltt glitz glibc-locale glib2-devel 
glib-sharp2 glib gle glade-sharp2 git-core giflib ghostscript-x11 ghostscript-omni 
ghostscript-library ggz-client-libs gftp gettext-tools gettext-runtime genisoimage 
gdbm gdb gd gconf2 gcc43-gij gcc43-c++ gcc43 gawk galago-daemon gail fuse ftgl ft2demos 
freetype2 freetype freeglut fontconfig finger findutils fillup file figlet festival 
fdupes fbset fam-server fam expat ethtool enscript enchant eject ed e2fsprogs dvd+rw-tools 
dvbtune dvbd dvb dosfstools dos2unix dmraid dirmngr diffutils dialog dhcpcd dhcp-server 
dhcp-client dhcp device-mapper deltarpm dcraw dbus-1-x11 dbus-1-python 
dbus-1-glib-devel dbus-1-glib dbus-1 db-utils dante cyrus-sasl-saslauthd 
cyrus-sasl-plain cyrus-sasl-digestmd5 cyrus-sasl cvsps cvs curl cups-libs cups-client 
cups cryptsetup cron cracklib cpp43 cpio coreutils compat-libstdc++ clucene-core 
cifs-mount checkmedia check cdparanoia cdk cairomm cairo cabextract bzip2 bsd-games boost 
bluez-libs blt blktrace binutils bind-utils bind-libs bc bash awesfx avahi autofs 
audit-libs audit audiofile attr at-spi at aspell alsa-utils alsa-oss agg acpid acl aalib 
aaa_base SDL PolicyKit OpenEXR Mesa ImageMagick IlmBase DirectFB ConsoleKit 
novell-nortelplugins java-1_6_0-sun helix-banshee-plugins-extra 
helix-banshee-plugins-default helix-banshee-engine-helix helix-banshee-engine-gst 
helix-banshee gst-fluendo-mp3 


The following packages are going to be REMOVED:
  pidgin-guifications-lang pidgin-guifications nxclient numactl mcelog linux32 
libgweather0 


Overall download size: 565.9 M. After the operation, 259.4 M will be freed.
Continue? [YES/no]: ^C
Comment 1 Stephan Kulow 2008-04-21 05:46:59 UTC
please generate a test case to it.
Comment 2 Magnus Boman 2008-04-21 05:52:17 UTC
I did attach a test case. Is there another way of doing it?
Comment 3 Stephan Kulow 2008-04-21 06:10:20 UTC
sorry, my fault. Jan, these "reinstalls" are actually architecture changes.

This is how it looks with --no-force-resolution:

Problem 1:
====================================
nothing provides kernel(default:vmlinux) = 6f55e8745cc245de needed by gspcav-kmp-default-01.00.20_2.6.25_rc9.16-2.x86_64

- allow architecture change of kernel-default-2.6.25-rc9.17.x86_64 to kernel-default-2.6.25-rc9.17.i586
- allow deinstallation of pidgin-guifications-2.16-5.5.x86_64
- allow deinstallation of pidgin-guifications-lang-2.16-5.5.x86_64
- allow deinstallation of nxclient-3.1.0-6.x86_64
- allow deinstallation of libgweather0-2.22.0-9.x86_64
- allow architecture change of libgnome-desktop-2-2-2.22.1-3.1.x86_64 to libgnome-desktop-2-2-2.22.1-4.i586


Are you still convinced that --force-resolution is the thing to go? If so, the bare minimum is to reinstall -> "change architecture of"

Comment 5 Jan Kupec 2008-04-21 06:50:27 UTC
(In reply to comment #3 from Stephan Kulow)
> sorry, my fault. Jan, these "reinstalls" are actually architecture changes.

Just to be sure: is this amount of arch changes OK? Will "allow-uninstall" turned off yield a sane result? If not this is still a solver bug right?

> Are you still convinced that --force-resolution is the thing to go? If so, the
> bare minimum is to reinstall -> "change architecture of"

OK i'll add this to the install summary.
Comment 6 Magnus Boman 2008-04-21 06:56:53 UTC
I sure hope it's *not* ok. I should be told that the package can't be installed. At best, I should have to use a switch like -yes-i-really-know-what-i-am-doing for it do suggest something like that.
Comment 7 Stephan Kulow 2008-04-21 07:00:31 UTC
from the solver's point of view, this is really the only valid solution (in opposition to earlier bugs, where backtracking would have helped). Unfortunately this amount of arch changes can not be ok. So I guess libzypp should run a sanity check over the solution. E.g. by blocking arch changes of glibc.
Comment 8 Jan Kupec 2008-04-21 07:04:31 UTC
(In reply to comment #6 from Magnus Boman)
> I sure hope it's *not* ok. I should be told that the package can't be
> installed.

You will be, after bug 375625 is fixed.
Comment 9 Jan Kupec 2008-04-21 08:16:30 UTC
(In reply to comment #5 from Ján Kupec)
> > bare minimum is to reinstall -> "change architecture of"
> 
> OK i'll add this to the install summary.

Done in svn. But the upgrades are in fact also architecture changes here (i'll add this case to the install summary as well). With --no-force-resolution, the solver solution proposal was a list of arch-changes so huge that it didn't fit to my konsole buffer. And the gspcav-kmp-default x86_64 does exist in my repos.

Can some of you guys look at this?
Comment 10 Michael Schröder 2008-04-21 11:04:16 UTC
See comment #3, it's not about a missing package, but the x86_64 kernel package does not match the kmp. The i586 version does, so the solver offers you the choice to change to i586 (along with 916 other architecture changes).
The other choice is to not install the requested package.

"--force-resolve" will always go for the 916 changes, as there is no other choice. This has nothing to do with "feature rules".

Not a solver bug at all. Zyppers presentation seems to be a bit lacking, though, it should list the critical changes like "vendor change", "architecture change", "downgrade".
Comment 11 Jan Kupec 2008-04-21 11:20:02 UTC
OK, thanx.

(In reply to comment #10 from Michael Schröder)
> Not a solver bug at all. Zyppers presentation seems to be a bit lacking,
> though, it should list the critical changes like "vendor change", "architecture
> change", "downgrade".

Already done, except for vendor changes. Lowering severity though.
Comment 12 Jan Kupec 2008-04-27 14:06:08 UTC
Done. To be in zypper 0.11.1
Comment 13 Jan Kupec 2008-04-27 22:30:23 UTC
submitted