
On Thursday 15 November 2012, Michael Schroeder wrote:
On Thu, Nov 15, 2012 at 03:59:26PM +0100, Ruediger Meier wrote:
even I've noticed that zypper seems to install with "rpm --force". This means that it does not abort if 2 packages have conflicting files and this results in having random files installed.
(not random, but last one wins)
The last one regarding alphabetical order? Since package names are randomly choosen it is still random. ## see $ zypper in quickfix-1.12.4-0.rudi.6.x86_64.rpm libquickfix10-1.12.4-17.1.x86_64.rpm $ md5sum /usr/lib64/libquickfix.so.10.0.0 bc43e6e877d710a9a40cbdac23562fcb /usr/lib64/libquickfix.so.10.0.0 ## and $ zypper in libquickfix10-1.12.4-17.1.x86_64.rpm \ quickfix-1.12.4-0.rudi.6.x86_64.rpm $ md5sum /usr/lib64/libquickfix.so.10.0.0 bc43e6e877d710a9a40cbdac23562fcb /usr/lib64/libquickfix.so.10.0.0 ## But rpm would respect the order of packages given in the commandline. $ rpm -Uvh --force quickfix-1.12.4-0.rudi.6.x86_64.rpm libquickfix10-1.12.4-17.1.x86_64.rpm warning: libquickfix10-1.12.4-17.1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID b611872d: NOKEY Preparing... ########################################### [100%] 1:libquickfix10 ########################################### [ 50%] 2:quickfix ########################################### [100%] $ md5sum /usr/lib64/libquickfix.so.10.0.0 187d807f0bcc50633b35c31b28274927 /usr/lib64/libquickfix.so.10.0.0 $ rpm -Uvh --force libquickfix10-1.12.4-17.1.x86_64.rpm quickfix-1.12.4-0.rudi.6.x86_64.rpm warning: libquickfix10-1.12.4-17.1.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID b611872d: NOKEY Preparing... ########################################### [100%] 1:quickfix ########################################### [ 50%] 2:libquickfix10 ########################################### [100%] $ md5sum /usr/lib64/libquickfix.so.10.0.0 bc43e6e877d710a9a40cbdac23562fcb /usr/lib64/libquickfix.so.10.0.0
How could I avoid that?
You currently can't avoid it, it's one of the missing features in zypper. The underlying libsolv library already supports it, it "just" needs to be added to libzypp.
(Note that zypper will nevertheless install with --force, at that time in the transaction it's too late to check for file conflicts. They need to get checked right after all packages are downloaded. This also means that conflict checking will not work with the old "DownloadAsNeeded" mode.)
I understand that it can't resolve these conflicts before downloading but I'd rather would like to see zypper aborting the installation after downloading than just using --force. What worth is the rpm database if "rpm --verify" does not show me broken files and "rpm -qa" is not comparable between two machines. I mean to compare two systems you would need to diff all installed files rather than the package list only. The current behavior only works at all because we have nice official repositories without conflicting packages. But isn't it one of rpm's key feature to protect our installation against broken repos and packages? cu, Rudi -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org