newbie "retrygrab() failed for:" question. self-sovled, no need to respond fyi only

[email protected]
Newsgroups gmane.linux.rpm.yum
Message-ID <100720071659.1900.47091060000A8F830000076C2206424413020A04040ED29B9B0A9D9D0E09@comcast.net>
sorry for the intrusion.  i solved my problem while writing this.  so this is for future ref / for others use.  there is no need to respond.

i've set up a core 5 box to act as a local yum repo.  apache 2 is running and i've copied the yum-vhost file and put it under /etc/httpd/conf.d.  i also made changes to the directory section as follows:

DocumentRoot /var/www/html/yum/9/update/all
<Directory " /var/www/html/yum/9/update/all">

for testing purposes i've turned off the firewall on the box.  i also created under the ../all directory above a directory called RPMS where i placed a single rpm for testing purposes.

the client is using an older version of yum (the clients are rh9) so i ran yum-arch to create the headers directory and file.  the headers directory is under the ../all directory along with the RPMS.

on the test client i changed the yum.conf file to point only to the local repo box.  as these are on a test net i have an rfc 1918 address assigned to it.  i also have given it a host name/domain for test purposes only as "yum.example.int".  i also placed an html file in the directory with the header file for test purposes.  the client config file is as follows:
...variables...
[localrepo]
name=yum
baseurl=http://yum.example.int/var/www/html/yum/9/update/all

whenever i try to run a basic yum command what i see is:
[root@ManaFlare etc]# yum info
Gathering header information file(s) from server(s)
Server: yum
retrygrab() failed for:
  http://yum.example.int/var/www/html/yum/9/update/all/headers/header.info
  Executing failover method
failover: out of servers to try
Error getting file http://yum.example.int/var/www/html/yum/9/update/all/headers/header.info
[Errno 4] IOError: HTTP Error 404: Not Found

this is where i banged head repeatedly because the file is where the error message says it isn't.  and i can access an html page in that same directory from a browser, so the name resolution thingee is working fine.  to be sure i tried its ip address direct.  i've changed yum client versions until it required dependencies that these little guys can't handle.  in desperation i even replaced http services with ftp via vsftp.  no luck there either dealing with passive port hopping and it was just another level of frustration i didn't need right now.

<while sane do .... bang head ..... end sane> 

the resolution, probably it jumps out at everyone else, is that the apache box has a default path for where it begins looking for the url you are requesting.  in my case the url is relative to /var/www/html.  so when it receives the url request from yum it prepends that path so it interprets the yum request to by /var/www/html/var/www/html/yum/9/update/all/headers/header.info, which isn't there and so it 404's.

by truncating the redundant part of the url from the yum.conf file i was able to achieve success as below:
[root@ManaFlare etc]# yum info
Gathering header information file(s) from server(s)
Server: yum
Finding updated packages
Downloading needed headers
getting /var/cache/yum/localrepo/headers/wine-0-0.9.2-1fc4winehq.i686.hdr
wine-0-0.9.2-1fc4winehq.i 100% |=========================|  15 kB    00:00
Name   : wine
Arch   : i686
Version: 0.9.2
Release: 1fc4winehq
Size   : 62.09 MB
Group  : Applications/Emulators
Repo   : yum
Summary: A Windows 16/32 bit emulator.
Description:
 While Wine is usually thought of as a Windows(TM) emulator, the Wine
developers would prefer that users thought of Wine as a Windows
compatibility layer for UNIX. This package includes a program loader,
which allows unmodified Windows 3.1/95/NT binaries to run under Intel
Unixes. Wine does not require MS Windows, but it can use native system
.dll files if they are available.

the before conf
...variables...
[localrepo]
name=yum
baseurl=http://yum.example.int/var/www/html/yum/9/update/all 

here is how the yum.conf now looks for the client:
...variables...
[localrepo]
name=yum
baseurl=http://yum.example.int/yum/9/update/all

that was a headbanger, but maybe not for anyone who has worked with local repos before.  hope it is of help to someone else.  i saw nothing like this in any of the many, many docs and message threads i read.  yes, i'm a bit rusty.

thanks.
garrett
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.