[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