PaulHowarth/Blog/2007-06-04

Monday 4th June 2007

Fedora Project

  • Raised Bug #242480 regarding python-crypto failing to build on ppc64; my interest in this is that bittorrent requires python-crypto and hence had broken dependencies in the ppc64 release

Local Packages

I set up my buildsystem to create packages for Fedora 7, and to label Rawhide packages with the fc8 tag. I've tweaked my buildsys-build package to not require buildsys-macros for Fedora 7 onwards since the required rpm macros are now included in redhat-rpm-config

My biggest concern was what to do with the merged Core and Extras repository. For all previous releases, I used a loopback-mounted DVD ISO image as a local repository for the base OS, and grabbed extras packages over the network via a local squid cache (much as is described in PackageMaintainers/MockTricks).

In order to build arbitrary packages for Fedora 7, I need the Everything repository (the full merged Core and Extras set) in the mock configuration. However, I also want to speed things up by using packages from my local DVD image where possible. The difficulty here is that the DVD image contains the same packages as the Everything repository, and there's no documented way to get yum to pick packages from the DVD ISO first and only go to the network if the package isn't found there.

It does appear though that yum currently searches through repositories in order of repository ID (I realise that this may change without warning at any given moment...) so the following mock config is serving my needs for x86_64:

$ cat /etc/mock/fedora-7-x86_64.cfg 
#!/usr/bin/python -tt
import os

config_opts['root'] = 'fedora-7-x86_64'
config_opts['target_arch'] = 'x86_64'

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
exclude=[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefhijklmnopqrstuvwxyz]*.i*86 g[abcdefghijkmnopqrstuvwxyz]*.i?86 glib2.i?86 glib.i?86 *-devel.i?86

# repos

[zzz-everything]
name=zzz-everything
baseurl=http://sunsite.mff.cuni.cz/MIRRORS/fedora.redhat.com/fedora/7/Everything/x86_64/os
proxy=http://localhost:3128/
priority=1
protect=1

[local-media]
name=local-media
baseurl=file:///srv/nb/distros/fc7/os/x86_64

[updates-released]
name=updates
baseurl=file:///srv/nb/distros/fc7/updates/x86_64

[groups]
name=groups
baseurl=file:///srv/nb/distros/fc7/groups

[city-fan.org]
name=city-fan.org repository for Fedora 7 (x86_64)
baseurl=file:///home/paul/cfo-repo/yum-repo/fc7/x86_64
enabled=0

"""

(the priority and protect lines were copied from a similar arrangement that CentOS uses, but doesn't seem to have any effect)


Recent