[libvirt] genprotocol.pl generates unstable output

Martin Kletzander mkletzan at redhat.com
Thu Oct 15 09:20:01 UTC 2015

On Thu, Oct 15, 2015 at 09:59:24AM +0200, Olaf Hering wrote:
>On Wed, Oct 14, Martin Kletzander wrote:
>> On Thu, Oct 01, 2015 at 08:44:55AM +0200, Olaf Hering wrote:
>> >If the same source gets built twice the resulting files may differ.
>> I don't see the problem, these pointers are not depending on each
>> other.  Or are you saying that it leaves your tree dirty?  Because
>> that has not happened to me and I believe others did not have a
>> problem with it either, otherwise this would happen a LOT of times.
>'built twice' means 'build same source on different hosts at different
>times'. I want to get reproducible build results for binary packages.

Oh, so if you're wondering about reproducibility, then it's a
different thing, I understand that.  And libvirt is not a good one
with regards to reproducible builds.

So we should be able to fix that by sorting the output.  I'll see once
more how to do that in genprotocol.pl, but I don't promise anything.
Feel free to also submit even a partial solution as a patch to the

>> >Looks like the perl script transforms the pointers, but it does not sort them
>> >to enforce an order. I think its the map() which does it, but dont know enough
>> >perl to be sure.  How can this be fixed?
>> >
>> I don't know that much about perl myself and I don't quite get it from
>> the genprotocol.pl, but you could sort the output before printing, for
>> sure.  But I'm still more curious about how come that causes you
>> something that's not happening for me.
>I'm sure it returns reproducible results on localhost. But even if it
>did not noone would notice because if the file happens to differ it will
>just get rebuilt.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20151015/18f37e84/attachment-0001.sig>

More information about the libvir-list mailing list