On 31/12/14 10:00, Simon McVittie wrote: > On Mon, 29 Dec 2014 at 21:27:16 +0000, Debian Bug Tracking System wrote: >> libical (1.0-1.2) unstable; urgency=medium >> . >> * Non-maintainer upload. >> * Sort keys to generate reproducible source code. (Closes: #773916) > > This is enough to make 1.0 internally consistent; but if the list is going to > get larger (I don't know whether it can, I don't know anything about this > library), then it is not enough to make 1.0 consistent with a subsequent 1.1. > > There is really no long-term solution to this other than upstream declaring > that a particular enum ordering is canonical, sticking to it in future, > always adding new entries at the end, and never re-ordering or deleting. > The order in which they appear in the source file might be the best choice > for a canonical order. >
That is true. It's enough for debian though, for now. And one should check abi on subsequent updates. I haven't checked later releases, but sorting the keys / keeping-things-not-future-proof is what is done elsewhere in the generated code upstream. It did appear that some other enums have stable values, but I didn't manage to figure it out if those simply are non-generated / static pieces of code. There are accessors and getters generated for each of the values, and the "NONE" and "LAST" are stable values throughout, thus the abi breakage is subtle. -- Regards, Dimitri.
signature.asc
Description: OpenPGP digital signature