[packagers] rpmforge compatible mock available

Tom G. Christensen tgc at statsbiblioteket.dk
Wed Feb 6 13:40:48 CET 2008


Hello,

Since Dag has expressed his strong desire to not use %{?dist} in the 
Release field of specfiles, I set out to create a mock install that 
could handle both cases.
That way I can do builds with unmodified specfiles from both rpmforge 
and fedora.

The result is here:
http://jupiterrise.com/mock/

It's a patch for mock to make it do the pre_brand and pre_disttag steps 
that DAR does. This should satisfy the requirement to avoid the %{?dist} 
macro.
To stay compatible with Fedora specfiles it will not modify the Release 
field if it contains %{?dist}.

There's also a set of generic configs at 
http://jupiterrise.com/mock/rpmforge-configs that you can put in 
/etc/mock.rpmforge (or whereever you like) and use with mock 
--configdir=<path to configs>.

It works for me but for more general usage, there are several problems:
1. Rebuilding rpmforge src.rpm as distributed, will add extra 
disttagging, since they've already been tagged. Ugly semi-workaround is 
adding rf$ as another exception for when not to modify the Release field 
or to simply recognize it and remove it.
2. rpmforge yum mirrorlist contains $ARCH which is interpreted as the 
mock hostarch during buildroot construction. This results in x86_64 
packages being installed in i386 buildroots. Either baseurl must be 
hardcoded or rpmforge mirrorlist structure updated to provide arch 
specific mirrorlists (perhaps use a script like CentOS?).
3. el2 and el3 configs are not included since Fedora does not provide 
buildsys-build packages for them, needed to populate buildroots.
You can build your own from the buildsys-build.spec.
4. No way to unconditionally disable branding or disttagging.

There are probably more, but they elude me right now :)

Comments and suggestions welcome.

-tgc


More information about the packagers mailing list