Bug 106647 - transactions created with adds and removes dont seem to work
transactions created with adds and removes dont seem to work
Product: Red Hat Enterprise Linux 2.1
Classification: Red Hat
Component: rpm (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jeff Johnson
Mike McLean
Depends On:
Blocks: 106632
  Show dependency treegraph
Reported: 2003-10-08 22:46 EDT by Adrian Likins
Modified: 2007-11-30 17:06 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-10-13 15:30:10 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Adrian Likins 2003-10-08 22:46:48 EDT
Description of problem:

transaction created that remove a package, and try to install
a new one, seem to cause errors about attempting to install
an older package even though the newer is being removed
in the transaction set. 

live.[root@i386-21as root]# rpm -q rpm
.live.[root@i386-21as root]# /usr/share/rhn/actions/packages.py
removing: amanda-devel-2.4.2p2-4
removing: apel-10.6-1
removing: openssh-2.9p2-7
removing: openssh-askpass-2.9p2-7
removing: openssh-askpass-gnome-2.9p2-7
removing: openssh-clients-2.9p2-7
removing: openssh-server-2.9p2-7
removing: rdate-1.3-3
removing: xsnow-1.42-11
adding: abiword-0.7.14-7
adding: apel-10.3-2
adding: openssh-3.1p1-8
adding: openssh-askpass-3.1p1-8
adding: openssh-askpass-gnome-3.1p1-8
adding: openssh-clients-3.1p1-8
adding: openssh-server-3.1p1-8
adding: rdate-1.0-8
adding: xsnow-1.40-14
rc: [('package apel-10.6-1 (which is newer than apel-10.3-2) is already
installed', (8, None, 0L)), ('package rdate-1.3-3 (which is newer than
rdate-1.0-8) is
+already installed', (8, None, 0L)), ('package xsnow-1.42-11 (which is newer
than xsnow-1.40-14) is already installed', (8, None, 0L))]
(0, 'packages.transaction ran successfully', {})

This is seen in the runTransaction code being backported to AS2.1
Comment 1 Jeff Johnson 2003-10-09 09:42:34 EDT
Hmmm, you can disable that check if you want to continue
trying to avoid an errata for AS2.1.

I'd rather fix with an errata however.

So what is needed?
Comment 2 Adrian Likins 2003-10-09 15:09:11 EDT
>so what is needed? 

eh? needed for what? 

a fix or a workaround is what I'm looking for. 

How would I disable the check?
Comment 3 Jeff Johnson 2003-10-10 09:23:47 EDT
The check is disabled by ignoring this problem:
        rc = snprintf(buf, nb,
                _("package %s (which is newer than %s) is already installed"),
                altNEVR, pkgNEVR);

Note that there are other consequences of disabling this check,
I recommend errata still.
Comment 4 Adrian Likins 2003-10-13 13:59:20 EDT
what consequences?

Comment 5 Adrian Likins 2003-10-13 14:46:19 EDT
to the ts doesnt seem to help, aka

rc = ts.run(transflag, ~rpm.RPMPROB_FILTER_OLDPACKAGE , rpmCallback,

Am I adding this at the wrong place, or the wrong flag?
Comment 6 Jeff Johnson 2003-10-13 15:30:10 EDT
The consequences are that you are disabling a sanity check,
so all consequences of disabling belong to you/up2date.

Hm, I think it's an enable, not a disable, to ignore
so negating with twiddle ain't the right thing to do.

Checking rpm-4.2.1 ... yes, it's enable to ignore, so
take the twiddle off. Assuming rpm-4.0.x is similar.

BTW, in rpm-4.1 and later the call is a seperate method.

From python/rpmts-py.c:

 * - ts.setProbFilter(ignoreSet) Set transaction set problem filter.
 * @param problemSetFilter - control bit(s) to ignore classes of problems,
 *              a logical or of one or more of the following bit(s):
 * @return      previous ignoreSet

Comment 7 Adrian Likins 2003-10-14 20:04:34 EDT
okay, no twiddle seems to work.

I could of sworn I tried that though, amongst a dozen other
things. Seems to at least get past this hurdle. 

Note You need to log in before you can comment on or make changes to this bug.