[RFC, PATCH] Build multiple srpms

Clark Williams williams at redhat.com
Thu May 11 14:36:08 UTC 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

seth vidal wrote:
> On Wed, 2006-05-10 at 15:59 -0500, Clark Williams wrote:
>> I don't have a problem with this. I'm not sure I buy the argument that
>> we need to do a clean of the chroot every time. Partially that's
>> because I do a lot of cross-tools stuff which requires that I keep a
>> chroot around for multiple builds. But even discounting that, I don't
>> see what building an srpm in a chroot can do that will corrupt the
>> chroot so that a subsequent build will fail or be incorrect. Mostly
>> you're in there because you want a particular set of binaries
>> (programs and libraries). Once those are installed, who cares if the
>> rpm database gets trashed or the passwd file has some crufty entries
>> in it?
>>
>
>
> The clean is non-negotiable. Pollution of chroot is a big deal,
> especially in wanting to make sure we've created consistent and
> repeatable builds, not to mention security.
>
> As I mentioned to matt,  Jochen, from several months ago, wrote a patch
> to do manual creation of a cached chroot so we could simply copy that
> image into place if it exists and run a 'yum update' on it to make sure
> it is current.

I remember seeing it in the archives. Do you think we should look at
merging that patch into the current yum?

>
> The clean is important for consistent builds and we must always have a
> clean chroot for our builds of fedora. Moving away from that requirement
> in mock (w/o special options) is just setting up users for confusion and
> failure.
>

I'm not opposed to clean being the default; I understand the paranoia :).

My situation is a bit strange, since I use mock to maintain a "host"
environment that contains a "sysroot". The sysroot is a set of target
libraries and headers files that are used to generate packages for a
non-x86 Linux system.  So, I have an environment that gets built up
over time as packages state their requirements.  Since a clean of the
chroot would blow away my sysroot, I don't want that to happen and go
to great pains to insure that all the config files default 'clean' to
false and all command lines have --no-clean.  I suppose I could copy
the sysroot out after the build and back in before a new build, but
that just seems hokey...

>
>> I'm not sure that I would consider the "failure stops everything" a
>> limitation, since it saves you having to dig through tons of log file
>> entries to find where the failure occurred (I never liked that make
>> option anyway :)). You could probably get away with removing the
>> sys.exit() in the for loop, but then you'd have to remember the exit
>> status, etc.
>
> failure should stop everything, especially for related but not
> _Required_ builds happening before.
>
Hey, I build with -Werror!

Clark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFEY0vXHyuj/+TTEp0RAuBzAJ9arsw8mRN120BCuWEuSEONIoPygACgwHah
lOzChbkhhduhqfyM68FM/Ac=
=fWw1
-----END PGP SIGNATURE-----




More information about the Fedora-buildsys-list mailing list