Bug 103441 - up2date of an obsoleted package fails
Summary: up2date of an obsoleted package fails
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Raw Hide
Classification: Retired
Component: up2date
Version: 1.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Adrian Likins
QA Contact: Fanny Augustin
URL:
Whiteboard:
Depends On:
Blocks: CambridgeBlocker
TreeView+ depends on / blocked
 
Reported: 2003-08-30 15:24 UTC by Paul Nasrat
Modified: 2007-04-18 16:57 UTC (History)
3 users (show)

Fixed In Version: 3.9.22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-10-22 20:54:09 UTC
Embargoed:


Attachments (Terms of Use)

Description Paul Nasrat 2003-08-30 15:24:06 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030703

Description of problem:
On performing an upgrade on severn with up2date from p.r.c (using rhn severn
updates channel).

up2date -l
...
Name-Version-Release        obsoleted by      Name-Version-Release
-------------------------------------------------------------------------------
redhat-release-9.0.93-1                 rawhide-release-9.0.93-2
lokkit-0.50-24.1                        redhat-config-securitylevel-tui-1.2.3-1

I wanted to test out redhat-config-securitylevel-tui

up2date redhat-config-securitylevel-tui
Testing package set / solving RPM inter-dependencies...
Traceback (most recent call last):
  File "/usr/sbin/up2date", line 1148, in ?
    sys.exit(main() or 0)
  File "/usr/sbin/up2date", line 747, in main
    fullUpdate, dryRun=options.dry_run))
  File "/usr/sbin/up2date", line 1014, in batchRun
    batch.run()
  File "/usr/share/rhn/up2date_client/up2dateBatch.py", line 64, in run
    self.__dryRun()
  File "/usr/share/rhn/up2date_client/up2dateBatch.py", line 134, in __dryRun
    self.percentCallback)
  File "/usr/share/rhn/up2date_client/up2date.py", line 482, in dryRun
    ret = depsolve.solvedep()
  File "/usr/share/rhn/up2date_client/depSolver.py", line 634, in solvedep
    ret = self.process_deps(deps)
  File "/usr/share/rhn/up2date_client/depSolver.py", line 601, in process_deps
    changed = self.__dependencies(dependencies)
  File "/usr/share/rhn/up2date_client/depSolver.py", line 464, in __dependencies
   for ob in obs:
TypeError: iteration over non-sequence


Version-Release number of selected component (if applicable):
up2date-3.9.18-2

How reproducible:
Always

Steps to Reproduce:
1. Install severn
2. Configure up2date to talk to rhn update channel
3. up2date redhat-config-securitylevel-tui
    

Actual Results:  Python stack trace

Expected Results:  Package should be updated and obsoleted package removed

Additional info:

Had a quick look this worked:

#!/usr/bin/python
                                                                                
import sys
sys.path.append("/usr/share/rhn/up2date_client")
                                                                                
import rhnPackageInfo
                                                                                
obsoletes = rhnPackageInfo.obsoletesList()
                                                                                
for p in obsoletes:
        key = p[5]
        if key == "lokkit":
                print "%s obsoleted by %s" % (key,p[0])
# END FRAGMENT
lokkit obsoleted by redhat-config-securitylevel-tui

Comment 1 Adrian Likins 2003-09-02 18:41:28 UTC
looks like a typo around line 463 of depSolver, should
of been a dict access instead of a has_key()

potential fix  in 3.9.22

Comment 2 Paul Nasrat 2003-09-03 07:31:23 UTC
3.9.22 fixes this issue for me.

Cheers

Comment 3 Chris Ricker 2003-10-22 19:27:20 UTC
closable?

Comment 4 Paul Nasrat 2003-10-22 20:54:09 UTC
Certainly as far as I'm concerned.  Closing.


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