[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