Hello community, here is the log from the commit of package libzypp checked in at Wed Apr 26 11:55:10 CEST 2006. -------- --- libzypp/libzypp.changes 2006-04-25 19:46:57.000000000 +0200 +++ STABLE/libzypp/libzypp.changes 2006-04-26 10:53:25.000000000 +0200 @@ -1,0 +2,6 @@ +Wed Apr 26 10:43:03 CEST 2006 - kkaempf@suse.de + +- Improve on last fix, compare only compatible archs. +- rev 3233 + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.WrtmHb/_old 2006-04-26 11:52:35.000000000 +0200 +++ /var/tmp/diff_new_pack.WrtmHb/_new 2006-04-26 11:52:35.000000000 +0200 @@ -18,7 +18,7 @@ Autoreqprov: on Summary: Package, Patch, Pattern, and Product Management Version: 0.0.8 -Release: 120 +Release: 122 Source: zypp-0.0.0.tar.bz2 Prefix: /usr Provides: yast2-packagemanager @@ -104,6 +104,9 @@ %{_libdir}/pkgconfig/libzypp.pc %changelog -n libzypp +* Wed Apr 26 2006 - kkaempf@suse.de +- Improve on last fix, compare only compatible archs. +- rev 3233 * Tue Apr 25 2006 - kkaempf@suse.de - Only choose best arch of multiple package atoms with identical name (#168840) ++++++ zypp-0.0.0.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypp-0.0.0/testsuite/zypp/tests/Arch.cc new/zypp-0.0.0/testsuite/zypp/tests/Arch.cc --- old/zypp-0.0.0/testsuite/zypp/tests/Arch.cc 2006-03-23 16:31:59.000000000 +0100 +++ new/zypp-0.0.0/testsuite/zypp/tests/Arch.cc 2006-04-26 10:22:42.000000000 +0200 @@ -52,5 +52,7 @@ if ( Arch_noarch.empty() ) return 8; + if (_arch32.compare(Arch_x86_64) >= 0) return 9; + return 0; } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypp-0.0.0/zypp/ZYpp.h new/zypp-0.0.0/zypp/ZYpp.h --- old/zypp-0.0.0/zypp/ZYpp.h 2006-04-22 17:12:02.000000000 +0200 +++ new/zypp-0.0.0/zypp/ZYpp.h 2006-04-26 10:49:38.000000000 +0200 @@ -123,7 +123,9 @@ typedef std::set<Locale> LocaleSet; /** Set the requested locales. * Languages to be supported by the system, e.g. language specific - * packages to be installed. + * packages to be installed. This function operates on the pool, + * so only the locales that are available as resolvables + * are marked as requested. The rest is ignored. */ void setRequestedLocales( const LocaleSet & locales_r ); /** */ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/zypp-0.0.0/zypp/source/yum/YUMSourceImpl.cc new/zypp-0.0.0/zypp/source/yum/YUMSourceImpl.cc --- old/zypp-0.0.0/zypp/source/yum/YUMSourceImpl.cc 2006-04-25 19:22:27.000000000 +0200 +++ new/zypp-0.0.0/zypp/source/yum/YUMSourceImpl.cc 2006-04-26 10:42:15.000000000 +0200 @@ -1084,10 +1084,13 @@ Arch oldarch, newarch; if (!(pa_pos->second->arch.empty())) oldarch = Arch( pa_pos->second->arch ); if (!(package_data->arch.empty())) newarch = Arch( package_data->arch ); - if (newarch.compatibleWith( getZYpp()->architecture() ) // new one is compatible - && oldarch.compare( newarch ) < 0) // and better - { - pa_pos->second = package_data; + if (newarch.compatibleWith( getZYpp()->architecture() ) ) { // new one is compatible (if not, we don't care) + + if (!oldarch.compatibleWith( getZYpp()->architecture() ) // old one is not compatible + || oldarch.compare( newarch ) < 0) // or compatible but worse + { + pa_pos->second = package_data; // new one is it ! + } } } catch( const Exception & excpt_r ) { ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...