On Sep 28, 2008, at 5:12 PM, Anders F Björklund wrote:
> Jeff Johnson wrote:
>
>> There are two big lies with rpm packaging methodolgy.
>>
>> (aside) The other lie is that rpm install transactions are
>> atomic iff there are no packaging flaws or install host failures.
>>
>> But this lie is "reproducible builds", which is true wrto rpmbuild
>> iff the build
>> host is set up (including configuration) equivalently/identically.
>
> The attempts I've seen either include carefully documented build OS
> setup instructions and then mean auditing with cattle prod handy*,
> or scripting the whole thing up from scratch in an empty chroot -
> which usually also helps with getting build dependencies right...
>
> * In Mac land this usually translates to "Asking Happy Questions",
> like "did you install developer tools ?" "is your /usr/local empty ?"
> "have you updated the port and every last dependency to the latest ?"
> Which after a while makes even waiting for mach and mock seem like
> fun.
>
You are correct that achieving sound methodology for global build
system setup
is fairly hard to achieve. Gentoo has perhaps the soundest approach,
but I digress ...
OTOH, consider the narrow case of rpmbuild invocation using --with
and --without.
One often wants to trigger a rebuild when, say, you've decided that
building rpm --without-zlib wasn't a very sound idea. Keeping track
of per-package rpmbuild invocation arguments is a rather easy check,
and warning/failing if the invocation arguments are different, is not
hard to achieve in the sense that very little consensus on how to
represent global build system configuration state is needed.
73 de Jeff
Received on Sun Sep 28 23:21:11 2008