Bug 119108 - installing packages from a directory repository fails with 'list index out of range'
installing packages from a directory repository fails with 'list index out of...
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: up2date (Show other bugs)
3.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Adrian Likins
Fanny Augustin
:
Depends On:
Blocks: up2date-rhel3-u2
  Show dependency treegraph
 
Reported: 2004-03-24 23:58 EST by Mike MacCana
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2004-07-05 19:58:59 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Mike MacCana 2004-03-24 23:58:33 EST
Description of problem:
When attempting to use a directory repository (configured in sources
with the line 'dir mikes-custom-packages /var/ftp/pub/extras') I get
the following message.

up2date -i dnstracer
 
Fetching Obsoletes list for channel: rhel-i386-es-3...
 
Fetching Obsoletes list for channel: dag-dag...
 
Fetching Obsoletes list for channel: mikes-custom-packages...
 
Fetching rpm headers...
Traceback (most recent call last):
  File "/usr/sbin/up2date", line 1267, in ?
    sys.exit(main() or 0)
  File "/usr/sbin/up2date", line 797, in main
    fullUpdate, dryRun=options.dry_run))
  File "/usr/sbin/up2date", line 1141, in batchRun
    batch.run()
  File "/usr/share/rhn/up2date_client/up2dateBatch.py", line 62, in run
    self.__findPackagesToUpdate()
  File "/usr/share/rhn/up2date_client/up2dateBatch.py", line 108, in
__findPackagesToUpdate
    self.availableUpdates = plist.getPackagesToInstall()
  File "/usr/share/rhn/up2date_client/packageList.py", line 580, in
getPackagesToInstall
    result = self.__skipPackages(result)
  File "/usr/share/rhn/up2date_client/packageList.py", line 609, in
__skipPackages
    packageList = self.__skipFiles(packageList)
  File "/usr/share/rhn/up2date_client/packageList.py", line 630, in
__skipFiles
    ignoreMsgCallback = self.ignoreMsgCallback)
  File "/usr/share/rhn/up2date_client/packageList.py", line 669, in
buildHeaderList
    hdr = headerList[pkg]
  File "/usr/share/rhn/up2date_client/headers.py", line 37, in __getitem__
    self.__retrievePackage(item)
  File "/usr/share/rhn/up2date_client/headers.py", line 42, in
__retrievePackage
    hdr, sourceType = rpcServer.doCall(self.repos.getHeader, item)
  File "/usr/share/rhn/up2date_client/rpcServer.py", line 112, in doCall
    ret = apply(method, args, kwargs)
  File "/usr/share/rhn/up2date_client/repoDirector.py", line 31, in
getHeader
    return self.handlers[channel['type']].getHeader(pkg, msgCallback,
progressCallback)
  File "/usr/share/rhn/up2date_client/rpmSource.py", line 210, in
getHeader
    header = source.getHeader(pkg, progressCallback = progressCallback)
  File "/usr/share/rhn/up2date_client/repoBackends/dirRepo.py", line
246, in getHeader
    filename = pkg[7]
IndexError: list index out of range

Here's a listing of the directory:

ls -la /var/ftp/pub/extras/
total 820
drwxr-xr-x    2 root     root         4096 Jan 14 14:46 .
drwxr-xr-x   16 root     root         4096 Mar 23 15:23 ..
-rw-r--r--    1 root     root        18226 Jan 14 14:46
dnstracer-1.7-1mm.i386.rpm


Version-Release number of selected component (if applicable):
up2date-4.3.11-2.1.1

How reproducible:
Always

Steps to Reproduce:
1.Attempt to install a package off a directory type repository
  
Actual results:
Python errors above.

Expected results:
The package would install properly.

Additional info:
Comment 1 Adrian Likins 2004-03-30 18:19:03 EST
I'll take a look at this for the next update set. 
Comment 2 Adrian Likins 2004-04-06 15:50:50 EDT
should be fixed in 4.2.9 in the next update
Comment 3 Mike MacCana 2004-07-05 19:58:59 EDT
Works now. Thanks very much.

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