Bug 51345

Summary: up2date doesn't correctly exclude installed packages
Product: [Retired] Red Hat Linux Reporter: Chris Ricker <chris.ricker>
Component: up2dateAssignee: Adrian Likins <alikins>
Status: CLOSED NOTABUG QA Contact: Jay Turner <jturner>
Severity: high Docs Contact:
Priority: medium    
Version: 7.3CC: srevivo
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-08-10 22:23:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Chris Ricker 2001-08-09 18:35:59 UTC
I started with a stock RH beta3 system on which I'd custom-compiled and
installed grip-2.96-1.i686.rpm a couple of days ago.

Today, I ran up2date for the first time.  It pulled down a list of RPMs
from Red Hat to update, one of which was grip-2.96-1.i386.rpm.  Somehow, it
didn't recognize that this grip was already installed, perhaps because of
the different targets for which the installed grip and the updated grip
RPMs were built....  grip should not have even been on the list of
available updates.

Comment 1 Cristian Gafton 2001-08-10 20:57:23 UTC
Assigned to the owner of component

Comment 2 Adrian Likins 2001-08-10 21:20:44 UTC
All of our gnome related packages have an epoch set, so if you
have a version of grip without an epoch, it will assume out
version is newer.

I'll take a look at the logic for computing updates to make
sure that it doesnt attempt to install packages in this
scenario.

Comment 3 Chris Ricker 2001-08-10 21:53:33 UTC
Out of curiosity, what's an epoch?

Comment 4 Jay Turner 2001-08-10 22:07:12 UTC
In laymen's terms (as those are really the only ones that I know!) epochs allow
us to specify that a specific package is actually newer than another package. 
And just as I learned in school, an example always makes things better.  Take
the case of package ypbind . . . it went from version 3.3 to version 1.7.  In
order to tell RPM that ypbind-1.7 was actually newer than ypbind-3.3, we add an
epoch to ypbind-1.7.  When RPM evaluates ypbind-1.7, it sees that it has an
epoch (like '1') and then looks at ypbind-3.3, sees that it has no epoch and is
able to know that ypbind-1.7 is "newer" then ypbind-3.3 and therefore should
replace/upgrade it.  That's pretty much it.

Comment 5 Chris Ricker 2001-08-10 22:16:23 UTC
Thanks!  All that makes sense.  So, how do I work with these, see these, etc? 
I'm looking at rpm -qi output from an up2date beta3 machine on ypbind and not
seeing it, and there's no mention of "epoch" in the rpm man pages.

Comment 6 Jay Turner 2001-08-10 22:23:16 UTC
They are set in the specfile . . . the easiest way to see them is to use one of
the querytags.  So, something like "rpm -q ypbind --queryformat
"%{NAME}-%{VERSION}-%{RELEASE}-%{EPOCH}\n"