From: Ján Kupec Date: Thu, 22 Jan 2009 15:28:39 +0000 (+0100) Subject: Merge branch 'master' of ssh://git@git.opensuse.org/projects/zypp/libzypp X-Git-Tag: 6.6.0~106 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f00e31920ae62ce592ddb51799d03e4b11314158;hp=c8a7b02d6e521136176203f45996bc6dd029e30a;p=platform%2Fupstream%2Flibzypp.git Merge branch 'master' of ssh://git@git.opensuse.org/projects/zypp/libzypp --- diff --git a/mkChangelog b/mkChangelog index 30cf432..19e16c4 100755 --- a/mkChangelog +++ b/mkChangelog @@ -36,12 +36,8 @@ entry template: Wed Jul 30 18:20:06 CEST 2008 - ma@suse.de - - - revision 10702 #---delete-or-release---# LAST RELEASED: 5.3.2 (2) NEW RELEASE: 5.4.0 (4) -The revision number is a guess and assumes you will check in to -SVN shortly after editing (current server revision + 1). - The line '#---delete-or-release---#...' shows the last version submitted to autobuild ('# LAST RELEASED:; tag in $VERSIONFILE). And also the current version, asuming you already updated the $VERSIONFILE according to your changes. @@ -107,12 +103,6 @@ function getversion() { ' } -function nextrevision() { - svn status -u CMakeLists.txt \ - | awk '/^Status against revision:/{print $4+1}' -} - - test -r /etc/sysconfig/mail && source /etc/sysconfig/mail EMAIL="${USER}@${FROM_HEADER:-$(hostname -f)}" @@ -125,7 +115,6 @@ echo "-------------------------------------------------------------------" echo "$(date) - $EMAIL" echo "" echo "- " -echo "- revision $(nextrevision)" echo "$GOTVERSION" echo "" cat $CHANGESFILE diff --git a/package/libzypp.changes b/package/libzypp.changes index 9d6f7da..2a05cf7 100644 --- a/package/libzypp.changes +++ b/package/libzypp.changes @@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Thu Jan 22 10:41:27 CET 2009 - ma@suse.de + +- Tell satsolver about product buddies (bnc #466565) + +------------------------------------------------------------------- Fri Jan 9 17:01:10 CET 2009 - jkupec@suse.cz - handle HTTP 503 reponses as temporary errors (bnc #462545) diff --git a/zypp/sat/detail/PoolImpl.cc b/zypp/sat/detail/PoolImpl.cc index 4bb9e22..7dc7d81 100644 --- a/zypp/sat/detail/PoolImpl.cc +++ b/zypp/sat/detail/PoolImpl.cc @@ -26,6 +26,7 @@ #include "zypp/sat/Pool.h" #include "zypp/Capability.h" #include "zypp/Locale.h" +#include "zypp/PoolItem.h" #include "zypp/target/modalias/Modalias.h" @@ -94,41 +95,49 @@ namespace zypp switch ( lhs ) { case NAMESPACE_LANGUAGE: + { + static IdString en( "en" ); + const std::tr1::unordered_set & locale2Solver( reinterpret_cast(data)->_locale2Solver ); + if ( locale2Solver.empty() ) { - static IdString en( "en" ); - const std::tr1::unordered_set & locale2Solver( reinterpret_cast(data)->_locale2Solver ); - if ( locale2Solver.empty() ) - { - return rhs == en.id() ? RET_systemProperty : RET_unsupported; - } - return locale2Solver.find( IdString(rhs) ) != locale2Solver.end() ? RET_systemProperty : RET_unsupported; + return rhs == en.id() ? RET_systemProperty : RET_unsupported; } - break; + return locale2Solver.find( IdString(rhs) ) != locale2Solver.end() ? RET_systemProperty : RET_unsupported; + } + break; case NAMESPACE_MODALIAS: - { - // modalias strings in capability may be hexencoded because rpm does not allow - // ',', ' ' or other special chars. - return target::Modalias::instance().query( str::hexdecode( IdString(rhs).c_str() ) ) - ? RET_systemProperty - : RET_unsupported; - } - break; + { + // modalias strings in capability may be hexencoded because rpm does not allow + // ',', ' ' or other special chars. + return target::Modalias::instance().query( str::hexdecode( IdString(rhs).c_str() ) ) + ? RET_systemProperty + : RET_unsupported; + } + break; case NAMESPACE_FILESYSTEM: + { + static const Pathname sysconfigStoragePath( "/etc/sysconfig/storage" ); + static WatchFile sysconfigFile( sysconfigStoragePath, WatchFile::NO_INIT ); + static std::set requiredFilesystems; + if ( sysconfigFile.hasChanged() ) { - static const Pathname sysconfigStoragePath( "/etc/sysconfig/storage" ); - static WatchFile sysconfigFile( sysconfigStoragePath, WatchFile::NO_INIT ); - static std::set requiredFilesystems; - if ( sysconfigFile.hasChanged() ) - { - requiredFilesystems.clear(); - str::split( base::sysconfig::read( sysconfigStoragePath )["USED_FS_LIST"], - std::inserter( requiredFilesystems, requiredFilesystems.end() ) ); - } - return requiredFilesystems.find( IdString(rhs).asString() ) != requiredFilesystems.end() ? RET_systemProperty : RET_unsupported; + requiredFilesystems.clear(); + str::split( base::sysconfig::read( sysconfigStoragePath )["USED_FS_LIST"], + std::inserter( requiredFilesystems, requiredFilesystems.end() ) ); } - break; + return requiredFilesystems.find( IdString(rhs).asString() ) != requiredFilesystems.end() ? RET_systemProperty : RET_unsupported; + } + break; + + case NAMESPACE_PRODUCTBUDDY: + { + PoolItem pi( (Solvable(rhs)) ); + return( pi ? pi.buddy().id() : noId ); + } + + break; } INT << "Unhandled " << Capability( lhs ) << " vs. " << Capability( rhs ) << endl;