future of smart

Cliff Wells cliff at develix.com
Wed Jun 11 15:44:59 PDT 2008


On Wed, 2008-06-11 at 15:29 -0700, Grant McWilliams wrote:

> 
> I'd like to see Smart become THE backend for Packagekit. Currently I
> have some reservations though. More than one time I've gotten SmartPM
> into an upgrade/downgrade loop that would never stop. I think every
> time it was a packagers problem because it went away a couple days
> later but explain that to the users that don't understand why they can
> update their machines. Solution? I don't know.

I've seen this happen a few times and every time it appeared to me to
result from having the same packages available from different repos
(e.g. freshrpms, livna, et al).  What appears to happen is something
like this:

repo A:
    package-1.0
    dependency-1.0

repo B:
    package-1.1 
    dependency-0.9

Smart sees the upgrade for package-1.1 in repo B.  But this package has
a requires that forces "dependency" 0.9.  This installs successfully.
But then on the next "smart upgrade", Smart sees the newer
dependency-1.0, but this forces a downgrade of package-1.1 to
package-1.0.  This happens until eventually both repos have the newer
versions of both packages.

The reason this doesn't happen with, say YUM, is because YUM never
downgrades a package to settle a dependency.  This is also why YUM can
get into situations where it can't do *anything* (conflicting package
dependencies) and Smart doesn't.  I think I'd rather have Smart's
"looping issue" than YUM's "unable to (un)install anything" =)

It really is a problem with packages (there's clearly no reason
package-1.1 couldn't use dependency-1.0, other than the packager
explicitly requiring 0.9), so I'm not sure this within Smart's ability
or scope to address.   On the other hand, if YUM supported downgrading
(or more users used Smart), people would eventually report this to the
packagers and the problem would go away =)

Cliff




More information about the Smart mailing list