git: df84bd484cb8 - main - release: Sort keys in generate-ucl.lua
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 25 Jun 2025 13:46:42 UTC
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=df84bd484cb813fc5ab76c81ac2c35fdd78c8235
commit df84bd484cb813fc5ab76c81ac2c35fdd78c8235
Author: Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2025-06-25 12:57:26 +0000
Commit: Mark Johnston <markj@FreeBSD.org>
CommitDate: 2025-06-25 13:46:31 +0000
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
---
release/packages/generate-ucl.lua | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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()