Mock build problem

Paul Howarth paul at city-fan.org
Thu Jun 15 14:09:05 UTC 2006


cranium2003 wrote:
> hi,
> --- Paul Howarth <paul at city-fan.org> wrote:
> 
>> cranium2003 wrote:
>>> Hi,
>>> --- Paul Howarth <paul at city-fan.org> wrote:
>>>
>>>> cranium2003 wrote:
>>>>> hi,
>>>>>     It seems i am following wrong tree to build
>>>> repo.
>>>>> i have attached my /home/source tree in text
>> file
>>>> can
>>>>> u check it and then check fedora mock conf
>> file??
>>>>> Disabling local means what i need to do in mock
>>>> conf
>>>>> file??
>>>>>     I hope u can understand attached tree file.
>>>> So far you have made a local mirror of
>>>> fedora-core-development (i386). 
>>>> You can use this for building packages targeted
>> at
>>>> FC6 (i386), You will 
>>>> probably need a local mirror of Extras
>> (development)
>>>> too.
>>>>
>>>> To build packages targeted at FC5, you will need
>>>> local mirrors of FC5 
>>>> core, FC5 updates and probably FC5 Extras too.
>>>>
>>>> You will need to keep your mirrors up to date,
>>>> particularly for development.
>>>>
>>>> What is the platform you actually want to build
>> for?
>    FC5.
>    I am extermely sorry as i got confused with those
> URLs in fedora-5-i386-core.cfg

Right. The bad news then is that your mirror of fedora-development is 
useless to you.

You will need local mirrors/repos for FC5 i386 [core], FC5 i386 
[updates-released], FC5 i386 [extras], and FC5 i386 [groups].

You can use your FC5 ISO image(s) as a local [core] repo:
http://www.city-fan.org/tips/YumRepoFromImages

To make the FC5 updates and extras mirrors, you'll need in your 
fedora-mirror script:

flavourlist=["extras", "updates"]
versionlist=["5"]
archlist=["i386"]
subflavourlist=["binary"]

You will need to create mirror repo files too.
Copy fedora-updates.repo to mirror-fedora-updates.repo and copy 
fedora-extras.repo to mirror-fedora-extras.repo. In the mirror-*.repo 
files, edit the repo IDs (the names in square brackets) by putting 
"mirror-" in front of them (like you did with the 
mirror-fedora-development repo file), so for instance
[updates] gets changed to [mirror-updates].

You should then be able to run fedora-mirror to create and keep up to 
date your local FC5 mirrors.

As for the local [groups] mirror, create it as follows:

# cd /home/source/fedora
# mkdir -p 5/core/i386/groups
# mv development/core/i386/*/minimal.xml 5/core/i386/groups
# cd 5/core/i386/groups
# wget 
http://fedoraproject.org/buildgroups/5/i386/buildsys-macros-5-2.fc5.noarch.rpm
# wget 
http://fedoraproject.org/buildgroups/5/i386/buildsys-macros-5-2.fc5.src.rpm
# createrepo -g minimal.xml .


The mock config file (fedora-5-i386-core.cfg) should look like:

#!/usr/bin/python -tt

import os
config_opts['root'] = 'fedora-development-i386-core'
config_opts['basedir'] = '/var/lib/mock/'
config_opts['chroot'] = '/usr/sbin/mock-helper chroot'
config_opts['mount'] = '/usr/sbin/mock-helper mount'
config_opts['umount'] = '/usr/sbin/mock-helper umount'
config_opts['rm'] = '/usr/sbin/mock-helper rm'
config_opts['mknod'] = '/usr/sbin/mock-helper mknod'
config_opts['yum'] = '/usr/sbin/mock-helper yum'
config_opts['runuser'] = '/sbin/runuser'
config_opts['buildgroup'] = 'build'
config_opts['chrootuser'] = 'mockbuild'
config_opts['chrootgroup'] = 'mockbuild'
config_opts['chrootuid'] = os.geteuid()
config_opts['chrootgid'] = os.getegid()
config_opts['chroothome'] = '/builddir'
config_opts['clean'] = True
config_opts['target_arch'] = 'i386'


config_opts['yum.conf'] = """
[main]
cachedir=/var/cache/yum
debuglevel=1
reposdir=/dev/null
logfile=/var/log/yum.log
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1

# repos

[core]
name=core
#baseurl=http://newmirror.linux.duke.edu/pub/fedora/linux/core/development/i386
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-5
baseurl=file:///home/source/fedora/5/core/i386/mirror-core

[updates-released]
name=updates
#mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc5
baseurl=file:///home/source/fedora/5/updates/i386/mirror-updates

[groups]
name=groups
#baseurl=http://buildsys.fedoraproject.org/buildgroups/5/i386/
baseurl=file:///home/source/fedora/5/core/i386/groups

[extras]
name=extras
#mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-extras-5
baseurl=file:///home/source/fedora/5/extras/i386/mirror-extras

[local]
name=local
baseurl=http://extras64.linux.duke.edu/plague-results/fedora-5-extras
enabled=0

"""


That assumes that you created your local FC5 core repo at 
/home/source/fedora/5/core/i386/mirror-core.


Paul.




More information about the fedora-extras-list mailing list