HomeFreeBSD

release: Sort keys in generate-ucl.lua

Description

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

Details

Provenance
markjAuthored on Jun 25 2025, 12:57 PM
Reviewer
manu
Differential Revision
D51021: release: Sort keys in generate-ucl.lua
Parents
rG32f9c9699a5a: Reset kvo_laundry to prevent it being cumulative
Branches
Unknown
Tags
Unknown