Mailinglist Archive: zypp-devel (230 mails)

< Previous Next >
Re: [zypp-devel] zypper dup
  • From: Michael Matz <matz@xxxxxxx>
  • Date: Mon, 11 Feb 2008 14:26:27 +0100 (CET)
  • Message-id: <Pine.LNX.4.64.0802111423060.20583@xxxxxxxxxxxxx>
Hi,

On Mon, 11 Feb 2008, Michael Matz wrote:

I've asked coolo to try the attached patch^Whack (it still wouldn't be
completely correct, but at least it won't try to install incompatible
candidates over already installed packages).

Although it doesn't help coolo (which is really strange, there must be
still some other entity which also adds candidates :-( ), let's at least
attach the thing I thought would help, perhaps it sparks some ideas.


Ciao,
Michael.Index: solver/detail/ResolverUpgrade.cc
===================================================================
--- solver/detail/ResolverUpgrade.cc (revision 8599)
+++ solver/detail/ResolverUpgrade.cc (working copy)
@@ -416,6 +416,7 @@ Resolver::doUpgrade( UpgradeStatistics &
if (cand_it == candidatemap.end()
// not in map yet
|| (cand_it->second->arch().compare( candidate->arch() ) < 0)
// or the new has better architecture
|| ((cand_it->second->arch().compare( candidate->arch() ) == 0)
// or the new has the same architecture
+ && cand_it->second->arch().compatibleWith( installed->arch() )
&& (cand_it->second->edition().compare( candidate->edition() )
< 0)) // and a better edition (-> 157501)
)
{
Index: solver/detail/Helper.cc
===================================================================
--- solver/detail/Helper.cc (revision 8599)
+++ solver/detail/Helper.cc (working copy)
@@ -146,6 +146,7 @@ class LookForUpdate : public resfilter::
if ((!uninstalled
// none yet
|| (uninstalled->edition().compare( provider->edition() ) < 0)
// or a better edition
|| (uninstalled->arch().compare( provider->arch() ) < 0) ) // or a
better architecture
+ && provider->arch().compatibleWith( installed->arch() )
&& !provider.status().isLocked() )
// is not locked
{
uninstalled = provider;
// store
< Previous Next >
Follow Ups