diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2025-06-25 12:57:26 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2025-06-25 13:46:31 +0000 |
| commit | df84bd484cb813fc5ab76c81ac2c35fdd78c8235 (patch) | |
| tree | aa7e7e3721a4828871ee129232536f4a0455ff7a | |
| parent | 32f9c9699a5a56ef8ef1da8e2974a8b34e2b84f5 (diff) | |
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
| -rwxr-xr-x | release/packages/generate-ucl.lua | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/release/packages/generate-ucl.lua b/release/packages/generate-ucl.lua index de52802913f8..ae6ee58dd84a 100755 --- a/release/packages/generate-ucl.lua +++ b/release/packages/generate-ucl.lua @@ -31,5 +31,5 @@ if not f then os.exit(1) end local obj = parser:get_object() -f:write(ucl.to_format(obj, 'ucl')) +f:write(ucl.to_format(obj, 'ucl', true)) f:close() |
