Bug 132981

Summary: up2date --channel=foo --installall fails if foo is a yum repo
Product: Red Hat Enterprise Linux 3 Reporter: Michael J. Carter <mcarter>
Component: up2dateAssignee: Bret McMillan <bretm>
Status: CLOSED WONTFIX QA Contact: Fanny Augustin <fmoquete>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: jos
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-10-19 19:17:59 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 Michael J. Carter 2004-09-20 16:38:58 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040124

Description of problem:
The command above fails with the following error message in RHEL3WS_U3:

[nisroot@vandelay root]# /usr/bin/up2date --nox --nosig
--channel=rhel3-isr-extras --installall

Fetching Obsoletes list for channel: isr-3ws...
 
Fetching Obsoletes list for channel: rhel3-isr-extras...
 
Fetching Obsoletes list for channel: rhel3-isr-nvidia...
 
Fetching obsoletes list for http://yum.isr.lanl.gov/rhel3/nvidia...
 
Fetching http://yum.isr.lanl.gov/rhel3/nvidia/headers/header.info...
########################################
Traceback (most recent call last):
  File "/usr/sbin/up2date", line 1174, in ?
    sys.exit(main() or 0)
  File "/usr/sbin/up2date", line 772, in main
    fullUpdate, dryRun=options.dry_run))
  File "/usr/sbin/up2date", line 1066, in batchRun
    batch.run()
  File "up2dateBatch.py", line 62, in run
  File "up2dateBatch.py", line 101, in __findPackagesToUpdate
  File "packageList.py", line 128, in run
  File "rhnPackageInfo.py", line 417, in obsoletesList
  File "rpcServer.py", line 304, in doCall
  File "repoDirector.py", line 27, in getObsoletes
  File "rpmSource.py", line 249, in getObsoletes
  File "/usr/share/rhn/up2date_client/repoBackends/yumRepo.py", line
318, in getObsoletes
    baseFileName = "%s-%s-%s.%s.hdr" % (pkg[0], pkg[1], pkg[2], pkg[4])
IndexError: list index out of range
[nisroot@vandelay root]#

The first channel in the output above is on our organzization's RHN
server. The rest are on a yum repo.

The command above works w/ up2date-4.0.1-1 on a stock RHEL3WS (no
updates) system.




Version-Release number of selected component (if applicable):
up2date-4.2.38-1

How reproducible:
Always

Steps to Reproduce:
1. Run /usr/bin/up2date --nox --nosig --channel=foo --installall

Note that 'foo' is a reference to a yum repository.

Actual Results:  up2date dies with a traceback.

Expected Results:  All RPMS in channel should install.

Additional info:

Comment 1 Jos Vos 2005-05-04 21:33:10 UTC
See bug #143339 for my comments about this problem.  I found the problem and
also the solution (I think): in the file yumRepo.py, in function getObsoletes(),
the line

  pkgList = rd.listPackages(channel, msgCallback, progressCallback)

should read:

  pkgList = rd.listPackages(channel, msgCallback, progressCallback)[0]

Maybe you can try this?

Comment 2 Michael J. Carter 2005-05-05 15:24:22 UTC
It's been broken for so long that I gave up and switched to yum.

Comment 3 RHEL Program Management 2007-10-19 19:17:59 UTC
This bug is filed against RHEL 3, which is in maintenance phase.
During the maintenance phase, only security errata and select mission
critical bug fixes will be released for enterprise products. Since
this bug does not meet that criteria, it is now being closed.
 
For more information of the RHEL errata support policy, please visit:
http://www.redhat.com/security/updates/errata/
 
If you feel this bug is indeed mission critical, please contact your
support representative. You may be asked to provide detailed
information on how this bug is affecting you.