git: 237db83d02c8 - main - packages: handle suffixes in generate-ucl.lua
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 15 Jul 2025 05:12:56 UTC
The branch main has been updated by ivy:
URL: https://cgit.FreeBSD.org/src/commit/?id=237db83d02c8fb3a6292427990a92ca280f73177
commit 237db83d02c8fb3a6292427990a92ca280f73177
Author: Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2025-07-07 13:39:39 +0000
Commit: Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2025-07-15 05:12:44 +0000
packages: handle suffixes in generate-ucl.lua
Move handling of comment/desc suffixes from generate-ucl.sh to
generate-ucl.lua.
Reviewed by: des, bapt
Approved by: des (mentor)
Differential Revision: https://reviews.freebsd.org/D50284
---
release/packages/generate-ucl.lua | 72 ++++++++++++++++++++++++++++++---------
release/packages/generate-ucl.sh | 46 -------------------------
2 files changed, 56 insertions(+), 62 deletions(-)
diff --git a/release/packages/generate-ucl.lua b/release/packages/generate-ucl.lua
index 0557e8e8cc23..3d91d11bc42f 100755
--- a/release/packages/generate-ucl.lua
+++ b/release/packages/generate-ucl.lua
@@ -6,14 +6,65 @@ generare-ucl.lua [<variablename> <variablevalue>]... <sourceucl> <destucl>
Build a package's UCL configuration by loading the template UCL file
<sourceucl>, replacing any $VARIABLES in the UCL based on the provided
variables, then writing the result to <destucl>.
-
-If COMMENT_SUFFIX or DESC_SUFFIX are set, append these to the generated comment
-and desc fields. We do this here because there's no way to do it in
-template.ucl.
]]--
local ucl = require("ucl")
+-- Give subpackages a special comment and description suffix to indicate what
+-- they contain, so e.g. "foo-man" has " (manual pages)" appended to its
+-- comment. This avoids having to create a separate ucl files for every
+-- subpackage just to set this.
+--
+-- Note that this is not a key table because the order of the pattern matches
+-- is important.
+pkg_suffixes = {
+ {
+ "%-dev%-lib32$", "(32-bit development files)",
+ "This package contains development files for compiling "..
+ "32-bit applications on a 64-bit host."
+ },
+ {
+ "%-dbg%-lib32$", "(32-bit debugging symbols)",
+ "This package contains 32-bit external debugging symbols "..
+ "for use with a source-level debugger.",
+ },
+ {
+ "%-man%-lib32$", "(32-bit manual pages)",
+ "This package contains the online manual pages for 32-bit "..
+ "components on a 64-bit host.",
+ },
+ {
+ "%-lib32$", "(32-bit libraries)",
+ "This package contains 32-bit libraries for running 32-bit "..
+ "applications on a 64-bit host.",
+ },
+ {
+ "%-dev$", "(development files)",
+ "This package contains development files for "..
+ "compiling applications."
+ },
+ {
+ "%-man$", "(manual pages)",
+ "This package contains the online manual pages."
+ },
+ {
+ "%-dbg$", "(debugging symbols)",
+ "This package contains external debugging symbols for use "..
+ "with a source-level debugger.",
+ },
+}
+
+function add_suffixes(obj)
+ local pkgname = obj["name"]
+ for _,pattern in pairs(pkg_suffixes) do
+ if pkgname:match(pattern[1]) ~= nil then
+ obj["comment"] = obj["comment"] .. " " .. pattern[2]
+ obj["desc"] = obj["desc"] .. "\n\n" .. pattern[3]
+ return
+ end
+ end
+end
+
-- Hardcode a list of packages which don't get the automatic pkggenname
-- dependency because the base package doesn't exist. We should have a better
-- way to handle this.
@@ -50,8 +101,6 @@ local pkgname = nil
local pkggenname = nil
local pkgprefix = nil
local pkgversion = nil
-local comment_suffix = nil
-local desc_suffix = nil
-- This parser is the output UCL we want to build.
local parser = ucl.parser()
@@ -73,10 +122,6 @@ for i = 2, #arg - 2, 2 do
pkggenname = varvalue
elseif varname == "VERSION" and #varvalue > 0 then
pkgversion = varvalue
- elseif varname == "COMMENT_SUFFIX" and #varvalue > 0 then
- comment_suffix = varvalue
- elseif varname == "DESC_SUFFIX" and #varvalue > 0 then
- desc_suffix = varvalue
elseif varname == "PKG_NAME_PREFIX" and #varvalue > 0 then
pkgprefix = varvalue
end
@@ -118,12 +163,7 @@ if pkgprefix ~= nil and obj["deps"] ~= nil then
end
-- Add comment and desc suffix.
-if comment_suffix ~= nil then
- obj["comment"] = obj["comment"] .. comment_suffix
-end
-if desc_suffix ~= nil then
- obj["desc"] = obj["desc"] .. "\n\n" .. desc_suffix
-end
+add_suffixes(obj)
-- Write the output file.
local f,err = io.open(arg[#arg], "w")
diff --git a/release/packages/generate-ucl.sh b/release/packages/generate-ucl.sh
index 57fe181ec5bb..7b08c3a8c59d 100755
--- a/release/packages/generate-ucl.sh
+++ b/release/packages/generate-ucl.sh
@@ -2,37 +2,9 @@
#
#
-mancx=" (manual pages)"
-mandx="This package contains the online manual pages."
-
-lib32mancx=" (32-bit manual pages)"
-lib32mandx="This package contains the online manual pages for 32-bit components
-on a 64-bit host."
-
-lib32cx=" (32-bit libraries)"
-lib32dx="This package contains 32-bit libraries for running 32-bit applications on
-a 64-bit host."
-
-devcx=" (development files)"
-devdx="This package contains development files for compiling applications."
-
-dev32cx=" (32-bit development files)"
-dev32dx="This package contains development files for compiling 32-bit applications
-on a 64-bit host."
-
-dbgcx=" (debugging symbols)"
-dbgdx="This package contains external debugging symbols for use with a source-level
-debugger."
-
-dbg32cx=" (32-bit debugging symbols)"
-dbg32dx="This package contains 32-bit external debugging symbols for use with a
-source-level debugger."
-
main() {
outname=""
origname=""
- desc_suffix=""
- comment_suffix=""
debug=
uclsource=
while getopts "do:s:u:" arg; do
@@ -61,38 +33,24 @@ main() {
case "${outname}" in
*-dev)
outname="${outname%%-dev}"
- comment_suffix="$devcx"
- desc_suffix="$devdx"
;;
*-dbg)
outname="${outname%%-dbg}"
- comment_suffix="$dbgcx"
- desc_suffix="$dbgdx"
;;
*-dev-lib32)
outname="${outname%%-dev-lib32}"
- comment_suffix="$dev32cx"
- desc_suffix="$dev32dx"
;;
*-dbg-lib32)
outname="${outname%%-dbg-lib32}"
- comment_suffix="$dbg32cx"
- desc_suffix="$dbg32dx"
;;
*-man-lib32)
outname="${outname%%-man-lib32}"
- comment_suffix="$lib32mancx"
- desc_suffix="$lib32mandx"
;;
*-lib32)
outname="${outname%%-lib32}"
- comment_suffix="$lib32cx"
- desc_suffix="$lib32dx"
;;
*-man)
outname="${outname%%-man}"
- comment_suffix="$mancx"
- desc_suffix="$mandx"
;;
${origname})
;;
@@ -112,8 +70,6 @@ main() {
echo "origname=${origname}"
echo "srctree=${srctree}"
echo "uclfile=${uclfile}"
- echo "desc_suffix=${desc_suffix}"
- echo "comment_suffix=${comment_suffix}"
echo "vital=${vital}"
echo "cp ${uclsource} -> ${uclfile}"
echo "==============================================================="
@@ -128,8 +84,6 @@ main() {
PKGNAME "${origname}" \
PKGGENNAME "${outname}" \
PKG_NAME_PREFIX "${PKG_NAME_PREFIX}" \
- COMMENT_SUFFIX "${comment_suffix}" \
- DESC_SUFFIX "$desc_suffix" \
CAP_MKDB_ENDIAN "${cap_arg}" \
PKG_WWW "${PKG_WWW}" \
PKG_MAINTAINER "${PKG_MAINTAINER}" \