[Yum] using createrepo to provide repodata for fedora-core iso
David Timms
dtimms at iinet.net.au
Thu Nov 9 09:47:15 UTC 2006
Tim Lauridsen wrote:
> David Timms wrote:
>> Anyone know how to use createrepo {or is there another tool} to create
>> useful repodata for a mounted dvd.iso image for say fedora core.
>>
>> It seems that while the image includes a toplevel /repodata folder,
>> when it is mounted and yum.repos.d/fedora-core.repo is pointed at the
>> / of the mounted iso image, yum is not happy with what it finds.
>>
>> I have used createrepo folder option to create a new repodata
>> directory and repo one folder above where the iso is mounted, so that
>> the folder is read/write, and the create can succeed.
>>
>> createrepo -o . disc/Fedora/RPMS/
>>
>> What I find is that primary.xml does not include the relative path
>> from the folder above the new repodata directory, and hence fails.
>> {actually it includes only the filename of the rpm files not any path
>> at all.}
>>
>> folder where iso is mounted:
>> /home/install/software/linux/fedora/core/6/yum/i386/disc
>>
>> location of rpms:
>> /home/install/software/linux/fedora/core/6/yum/i386/disc/Fedora/RPMS
>>
>> writable location: {where yum.repos.d/fedora-core.repo baseurl will
>> point}
>> /home/install/software/linux/fedora/core/6/yum/i386/
>>
>> What is the appropriate command to generate usable repodata ?
>>
>> DaveT.
> Check this howto:
>
> http://www.city-fan.org/tips/YumRepoFromImages
Paul's tip can work, but I found that there is another requirement: the
r/w folder {i386} where subdir where .iso will be mounted {disc} must
not have any other .rpm files any peer subdirs. Since my machine is laid
out:
/home/install/software/linux/fedora/core/6/i386/
/home/install/software/linux/fedora/core/6/i386/disc {dvd mounted here}
/home/install/software/linux/fedora/core/6/i386/disc/Fedora/RPMS
/home/install/software/linux/fedora/core/6/i386/yum {normal yum cache,
keepcache=1, so that cache doesn't fill up /var partition}
If I then:
$ cd /home/install/software/linux/fedora/core/6/i386/
$ createrepo .
repodata is created at:
/home/install/software/linux/fedora/core/6/i386/repodata
as expected, but the primary.gz includes all the rpms from the other yum
folder {updates/extras and other repositories}.
If there is no other way to generate repodata in this situation, then I
would like to suggest that an additional option needs to be added to
createrepo.
--include=dir-to-include.
Any thoughts on whether such a command option should be implemented ?
DaveT.
More information about the Yum
mailing list