Discussion:
Using yum for repo that was created with createrepo (--split and --outputdir option)
Maria Alandes Pradillo
2009-10-09 15:38:15 UTC
Permalink
Hi,

I'm experiencing problems when trying to install packages from a repository that was created using --split and --outputdir option.

The repository was created in this way:

createrepo --split -o dir1 dir2

This means that packages are in dir2 and repodata is included in dir1.

My repo file is:

[repo]
name=my repo
baseurl=http://whatever/dir1, http://whatever/dir2
enabled=1

Sometimes, the installation goes fine although I get this type of errors:

http://whatever/dir2/repodata/repomd.xml: [Errno 4] IOError: HTTP Error 404: Not Found
Trying other mirror.

It tries to find the repodata in the directory where there are only packages.

Or

http://whatever/dir1/package1.rpm: [Errno 4] IOError: HTTP Error 404: Not Found
Trying other mirror.

It tries to get the packages from the place where there's only repodata


Sometimes, I get similar errors but the installation crashes:

http://whatever/dir2/repodata/repomd.xml: [Errno 4] IOError: HTTP Error 404: Not Found
Trying other mirror.
...

http://whatever/dir1/package1.rpm: [Errno 4] IOError: HTTP Error 404: Not Found
Trying other mirror.
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.main(sys.argv[1:])
File "/usr/share/yum-cli/yummain.py", line 138, in main
(result, resultmsgs) = base.buildTransaction()
File "__init__.py", line 343, in buildTransaction
File "depsolve.py", line 216, in resolveDeps
File "depsolve.py", line 174, in populateTs
File "__init__.py", line 685, in downloadHeader
File "repos.py", line 624, in get
File "/usr/lib/python2.3/site-packages/urlgrabber/mirror.py", line 414, in urlgrab
return self._mirror_try(func, url, kw)
File "/usr/lib/python2.3/site-packages/urlgrabber/mirror.py", line 392, in _mirror_try
mirrorchoice = self._get_mirror(gr)
File "/usr/lib/python2.3/site-packages/urlgrabber/mirror.py", line 290, in _get_mirror
return gr.mirrors[gr._next]
IndexError: list index out of range
ending
done


It seems it's random when the installation succeeds or when it fails.

Has anybody a similar repo setup and experienced these problems? Do I need to configure the yum client in a certain special way in this case? I would like yum to know that it should not try to get the repodata from the place where there are only packages.

I'm using yum 2.4.3 and createrepo 0.4.11-1.

Thanks a lot,
Maria
James Antill
2009-10-09 15:52:36 UTC
Permalink
Post by Maria Alandes Pradillo
Hi,
I'm experiencing problems when trying to install packages from a repository that was created using --split and --outputdir option.
createrepo --split -o dir1 dir2
This means that packages are in dir2 and repodata is included in dir1.
[repo]
name=my repo
baseurl=http://whatever/dir1, http://whatever/dir2
This tells yum that there are two places it can get the repomd.xml
file from, for the "repo" repo:

http://whatever/dir1/repodata/repomd.xml
http://whatever/dir2/repodata/repomd.xml

...and that both of those places point to the same MD, ie. one of them
is a mirror of another.
--
James Antill -- ***@and.org
Loading...