RPM problem: prereq: <file> not honored in upgrade ordering?

Pekka Savola pekkas at netcore.fi
Wed Oct 15 09:18:30 UTC 2003


On Wed, 15 Oct 2003, Nils Philippsen wrote:
> On Wed, 2003-10-15 at 09:01, Pekka Savola wrote:
> > This is semi-offtopic here, but is relevant to see whether this issue has 
> > since then been fixed.
> > 
> > When I was upgrading a RHL72 box to RHL73, I noticed that 
> > /usr/sbin/sendmail symlink was not added by the alternatives (done at 
> > %post of sendmail).  RHL72 didn't have alternatives, but sendmail.spec 
> > does have:
> > 
> > Prereq: /usr/sbin/alternatives
> > 
> > .. I upgraded between RHL72 and RHL73 using autoupdate, and the updating 
> > of RPM's is done basically by 'rpm -Uvh <long list of RPMs>'.
> > 
> > From the logs I note that sendmail was installed before a newer 
> > version of chkconfig which would have provided /usr/sbin/alternatives.  
> > Thus, no /usr/sbin/alternatives existed when sendmail was upgraded, and 
> > the link failed.
> > 
> > I think this smells like a problem in the ordering RPM uses to upgrade the 
> > packages?
> 
> Hmm, what was "Prereq" once is "Requires(pre)" now ("Prereq" works like
> a normal "Requires"). 

That would seem to me as a totally broken choice.  If someone has put in a
"prereq", you can be pretty sure he means that it should be _at least_
"Requires(pre)" and probably also "Requires" (depending on what
Requires(xxx) means semantically), right?

> But that doesn't solve your problem, does it?

Doesn't seem to be doing that.  With a small number of packages (just 
chkconfig, sendmail* and ntsysv, which were all required), the ordering 
_apparently_ went right but the result still was that alternatives was not 
run:

# rpm -Fvh sendmail-* chkconfig-1.3.5-3.i386.rpm ntsysv-1.3.5-3.i386.rpm
Preparing...                ########################################### [100%]
   1:chkconfig              ########################################### [ 25%]
   2:sendmail               warning: /etc/sendmail.cf created as /etc/sendmail.cf.rpmnew
########################################### [ 50%]
   3:sendmail-cf            ########################################### [ 75%]
   4:ntsysv                 ########################################### [100%]

I've also tested it with -vvvv debugging, and the sendmail does (try to?)
run the /usr/sbin/alternatives command, but for some reason it does not
work.

I've filed this as, including a log file of rpm run with -vvvvv option:

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=107132

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings





More information about the fedora-devel-list mailing list