On 6/21/19 2:18 PM, Eric Blake wrote:
In libvirt_private.syms, we have a policy of keeping blocks of symbols sorted by name - in fact, we enforce it during 'make check' with our check-symsorting rule calling out to a perl script. But libvirt_public.syms has been more cavalier over the years.
21 releases have been trivially sorted due to adding only one symbol; while the following 27 releases listed multiple symbols in alphabetical order, even if the symbols were not chronologically added in that order [1]:
0.0.3 0.9.5 1.1.0 0.3.0 0.9.7 1.1.1 0.3.3 0.9.8 1.2.5 0.4.2 0.9.9 1.2.8 0.6.3 0.9.10 1.2.11 0.7.5 0.9.13 1.2.15 0.9.0 1.0.1 1.3.3 0.9.2 1.0.2 3.1.0 0.9.3 1.0.3 3.4.0
Correction: 1.3.3 was not sorted. So, of the 84 version blocks (83 releases plus ongoing work towards 5.5.0), 21 were trivial (25%), 26 were sorted (31%), and 37 were unsorted (44%).
Ideally, if we DO want this patch, we should also teach 'make check' via src/check-symsorting.pl how to enforce it on the public file; as I did not do that, this is marked RFC.
-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org