release: Sort keys in generate-ucl.lua
When writing out the UCL file containing a package's metadata, metadata
values consisting of key-value pairs were not sorted. For instance, in
the certctl package we could have either
"deps": {
"FreeBSD-openssl": {
...
},
"FreeBSD-caroot": {
...
},
}
or
"deps": {
"FreeBSD-caroot": {
...
},
"FreeBSD-openssl": {
...
},
}
This breaks reproducibility.
Use the undocumented third parameter to libucl's to_format() to request
recursive sorting of keys.
Reviewed by: manu, bapt
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D51021