Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F143874630
D50284.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D50284.diff
View Options
diff --git a/release/packages/generate-ucl.lua b/release/packages/generate-ucl.lua
--- a/release/packages/generate-ucl.lua
+++ b/release/packages/generate-ucl.lua
@@ -6,14 +6,65 @@
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 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 @@
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 @@
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
--- 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 @@
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 @@
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 @@
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}" \
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Feb 2, 8:55 AM (20 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28411531
Default Alt Text
D50284.diff (5 KB)
Attached To
Mode
D50284: packages: handle suffixes in generate-ucl.lua
Attached
Detach File
Event Timeline
Log In to Comment