a build reproducibility test

Michael Stone michael at laptop.org
Sat Dec 13 13:23:42 EST 2008


On Sat, Dec 13, 2008 at 03:53:14PM +1100, James Cameron wrote:
>On Fri, Dec 12, 2008 at 12:40:37PM -0500, Michael Stone wrote:
>> On Fri, Dec 12, 2008 at 03:27:21PM +1100, James Cameron wrote:
>>> Why can't the build system be replicated so that each developer can test
>>> their change before releasing it?  What is it about the build system that
>>> prevents it?  I thought the build system was just a set of downloads and
>>> put-it-together processes.
>>
>> It can, it has been, and no one seems to care. See 
>>
>>   http://wiki.laptop.org/go/Build_system
>>   http://wiki.laptop.org/go/Building_custom_images
>>   http://wiki.laptop.org/go/Puritan
>>   http://wiki.laptop.org/go/User:Mstone/Commentaries/Releases_2#Practical_Matters
>>
>> for some historical records of the discussions.
>
>Thanks.
>
>Re: http://wiki.laptop.org/go/Puritan
>
>Tried the puritan on Debian, 

Thanks for test-run! (and I'm sorry to hear that you got stuck.)

> stopped at a missing /etc/mock/fedora-9-i386.cfg file

   sudo wget -O /etc/mock/fedora-9-i386.cfg \
     http://teach.laptop.org/~mstone/fedora-9-i386.cfg

should fix you up. I'm not sure why the debian packaging of mock is
missing this file.

> but I thought the build had moved on to Fedora 10 now?

in the sense that joyride's pilgrim configuration is now pulling from
f10 yum repos rather than f9 yum repos. That's just a matter of
changing the obvious lines in the compilation's 'bootstrap' (or
'bootstrap.py', in later versions) file.

> Why would it need Fedora 9 configuration file?  

Because I told it to construct the build environment out of F-9
materials regardless of what system you happen to be running on. At the
time, this seemed like a good idea because I thought it would help
achieve more reproducibile results and because I thought it would ease
portability issues; now, I've come to think that it's a better idea just
to run the software "bare" in whatever environment happens to be
available.

> Where would I get a Fedora 10 configuration file from?  

If you want to set up a build environment with f10 versions of tools,
then you'd want the f10 mock config (available mock on a fedora system
or extractable from Fedora's koji buildserver.)

If you want to try making builds with f10 packages, then you can use
whatever build environment you like so long as you direct the
compilation to pull from f10 package repos:

   http://mirrors.fedoraproject.org/publiclist/Fedora/10/i386/

> Why does the current production build system have this file?  

For the record, puritan is not the current production build system.
Pilgrim is. Puritan is just an expression of some of my ideas about what
is required to make a "nice" build-system for putting software onto XOs.

Thanks very much for your bug reports and assistance in improving it,

Michael



More information about the Devel mailing list