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