[Yum] Problem installing multiple rpms

Michael Stenner mstenner at phy.duke.edu
Fri Apr 11 15:13:30 UTC 2003

On Fri, Apr 11, 2003 at 10:45:42AM -0400, Konstantin Riabitsev wrote:
> Tom Hines wrote:
> > I agree with the transaction part, but that's an odd
> > definition of update.  I agree with Eric.  I think the
> > definition of update should be:
> > 
> > A:
> >   preconditions: None.
> >   postconditions: I have the latest version.
> This is not "update." This, moreover, will install a package if it 
> hasn't been installed yet, seeing as you list preconditions as "None."

Agreed.  I suspect he meant to say:

   preconditions: some version installed
   postconditions: I have the latest version

Frankly, that's what seems most sensible and obvious to me.

> > B:
> >   preconditions: I currently have an old version.
> >   postconditions: I have the latest version.
> That would be the definition of the word "update" in my vocabulary. 

You keep saying that.  This is not the fundamental point of the
debate, but I think it's a point of confusion.  Not everyone agrees
with you on that definition.  Vague arguments about what "is
intuitive" don't apply here because when large numbers of people think
mutually exclusive behaviors "are intuitive", they are (by definition)
both wrong.

The question is: what should yum do on "yum update foo1 foo2 foo3"?

> Moreover, this is consistent with the way rpm proper handles it: 
> "rpm -U foo.rpm bar.rpm" will fail if either foo or bar are the 
> latest version.

That's a fair point.  If a serious design goal is to map rpm's
behavior, then it's a very persuasive point indeed.  I don't get the
impression that 1-to-1 feature mapping is a high priority, though.

> > Why should I have to keep track of whether I have the
> > latest version of a package?  That's not conducive to
> > automation.
> That's fine with me, but don't call it "update."

Again, you are trying to impose what that word means to YOU on
everyone else.

> >  What if I wanted to add some logic in the script
> > based on the return value of update?  It would be much
> > easier if the definition of update was A.
> That's questionable. I can think of plenty of examples where I would 
> WANT for a set of packages to update atomically, or not at all.

So far, your examples are hypothetical ones dreamed up for this
conversation.  Lots of other people have run into real live situations
where they wanted it the other way.

> > If yum is going to accept multiple packages for the
> > update command as in 'yum update pkg1 pkg2 pkg3', then
> > I think it should work as in A, because I would expect
> > that afterward, I would have the latest version of all
> > 3.  You know, Principle of Least Surprise, etc.
> Really? You find it less surprising if "update" doesn't really update?

Now you're just being snippy.  You're hung up on your definition of
update, which MANY people don't share.


  Michael Stenner                       Office Phone: 919-660-2513
  Duke University, Dept. of Physics       mstenner at phy.duke.edu
  Box 90305, Durham N.C. 27708-0305

More information about the Yum mailing list