Bug 103441

Summary: up2date of an obsoleted package fails
Product: [Retired] Red Hat Raw Hide Reporter: Paul Nasrat <nobody+pnasrat>
Component: up2dateAssignee: Adrian Likins <alikins>
Status: CLOSED CURRENTRELEASE QA Contact: Fanny Augustin <fmoquete>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0CC: chris.ricker, gafton, mihai.ibanescu
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: 3.9.22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-10-22 20:54:09 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:
Bug Depends On:    
Bug Blocks: 100643    

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.