Page MenuHomeFreeBSD

D50160.id155245.diff
No OneTemporary

D50160.id155245.diff

diff --git a/release/packages/Makefile.package b/release/packages/Makefile.package
--- a/release/packages/Makefile.package
+++ b/release/packages/Makefile.package
@@ -185,7 +185,5 @@
vt_DESC= VT fonts and keyboard files
wpa_COMMENT= 802.11 Supplicant
wpa_DESC= 802.11 Supplicant
-yp_COMMENT= Yellow Pages programs
-yp_DESC= Yellow Pages programs
zfs_COMMENT= ZFS Libraries and Utilities
zfs_DESC= ZFS Libraries and Utilities
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
@@ -3,33 +3,66 @@
--[[ usage:
generare-ucl.lua [<variablename> <variablevalue>]... <sourceucl> <destucl>
-In the <destucl> files the variable <variablename> (in the form ${variablename}
-in the <sourceucl>) will be expanded to <variablevalue>.
+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>.
-The undefined variables will reamin unmofifier "${variablename}"
+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")
+local comment_suffix = nil
+local desc_suffix = nil
+
+-- This parser is the output UCL we want to build.
+local parser = ucl.parser()
+
+-- Set any $VARIABLES from the command line in the parser. This causes ucl to
+-- automatically replace them when we load the source ucl.
if #arg < 2 or #arg % 2 ~= 0 then
io.stderr:write(arg[0] .. ": expected an even number of arguments, got " .. #arg)
os.exit(1)
end
-local parser = ucl.parser()
for i = 2, #arg - 2, 2 do
- parser:register_variable(arg[i - 1], arg[i])
+ local varname = arg[i - 1]
+ local varvalue = arg[i]
+
+ if varname == "COMMENT_SUFFIX" and #varvalue > 0 then
+ comment_suffix = varvalue
+ elseif varname == "DESC_SUFFIX" and #varvalue > 0 then
+ desc_suffix = varvalue
+ end
+
+ parser:register_variable(varname, varvalue)
end
+
+-- Load the source ucl file.
local res,err = parser:parse_file(arg[#arg - 1])
if not res then
io.stderr:write(arg[0] .. ": fail to parse("..arg[#arg - 1].."): "..err)
os.exit(1)
end
+
+local obj = parser:get_object()
+
+-- 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
+
+-- Write the output file.
local f,err = io.open(arg[#arg], "w")
if not f then
io.stderr:write(arg[0] .. ": fail to open("..arg[#arg].."): ".. err)
os.exit(1)
end
-local obj = parser:get_object()
+
f:write(ucl.to_format(obj, 'ucl'))
f:close()
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,9 +2,35 @@
#
#
+mancx=" (manual pages)"
+mandx="This package contains the online manual pages."
+
+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=
+ desc_suffix=""
comment=
+ comment_suffix=""
debug=
uclsource=
while getopts "do:s:u:" arg; do
@@ -52,51 +78,53 @@
# as a dependency.
libcompat-dev|libcompiler_rt-dev|liby-dev)
outname=${outname%%-dev}
- _descr="Development Files"
+ comment_suffix="$devcx"
+ desc_suffix="$devdx"
;;
- libcompat-lib32_dev|libcompiler_rt-lib32_dev|liby-lib32_dev)
- outname=${outname%%-lib32_dev}
- _descr="32-bit Libraries, Development Files"
+ libcompat-dev-lib32|libcompiler_rt-dev-lib32|liby-dev-lib32)
+ outname=${outname%%-dev-lib32}
+ comment_suffix="$dev32cx"
+ desc_suffix="$dev32dx"
;;
libcompat-man|libelftc-man)
outname=${outname%%-man}
- _descr="Manual Pages"
- ;;
- utilities)
- uclfile="${uclfile}"
- ;;
- runtime)
- outname="runtime"
- _descr="$(make -C ${srctree}/release/packages -f Makefile.package -V ${outname}_DESCR)"
+ comment_suffix="$mancx"
+ desc_suffix="$mandx"
;;
- *-lib32_dev)
- outname="${outname%%-lib32_dev}"
- _descr="32-bit Libraries, Development Files"
+ *-dev)
+ outname="${outname%%-dev}"
+ comment_suffix="$devcx"
+ desc_suffix="$devdx"
pkgdeps="${outname}"
;;
- *-lib32_dbg)
- outname="${outname%%-lib32_dbg}"
- _descr="32-bit Libraries, Debugging Symbols"
+ *-dbg)
+ outname="${outname%%-dbg}"
+ comment_suffix="$dbgcx"
+ desc_suffix="$dbgdx"
pkgdeps="${outname}"
;;
- *-lib32)
- outname="${outname%%-lib32}"
- _descr="32-bit Libraries"
+ *-dev-lib32)
+ outname="${outname%%-dev-lib32}"
+ comment_suffix="$dev32cx"
+ desc_suffix="$dev32dx"
pkgdeps="${outname}"
;;
- *-dev)
- outname="${outname%%-dev}"
- _descr="Development Files"
+ *-dbg-lib32)
+ outname="${outname%%-dbg-lib32}"
+ comment_suffix="$dbg32cx"
+ desc_suffix="$dbg32dx"
pkgdeps="${outname}"
;;
- *-dbg)
- outname="${outname%%-dbg}"
- _descr="Debugging Symbols"
+ *-lib32)
+ outname="${outname%%-lib32}"
+ comment_suffix="$lib32cx"
+ desc_suffix="$lib32dx"
pkgdeps="${outname}"
;;
*-man)
outname="${outname%%-man}"
- _descr="Manual Pages"
+ comment_suffix="$mancx"
+ desc_suffix="$mandx"
pkgdeps="${outname}"
;;
${origname})
@@ -116,13 +144,14 @@
echo ""
echo "==============================================================="
echo "DEBUG:"
- echo "_descr=${_descr}"
echo "outname=${outname}"
echo "origname=${origname}"
echo "srctree=${srctree}"
echo "uclfile=${uclfile}"
echo "desc=${desc}"
+ echo "desc_suffix=${desc_suffix}"
echo "comment=${comment}"
+ echo "comment_suffix=${comment_suffix}"
echo "vital=${vital}"
echo "cp ${uclsource} -> ${uclfile}"
echo "==============================================================="
@@ -132,7 +161,6 @@
fi
[ -z "${comment}" ] && comment="${outname} package"
- [ -n "${_descr}" ] && comment="${comment} (${_descr})"
[ -z "${desc}" ] && desc="${outname} package"
cp "${uclsource}" "${uclfile}"
@@ -155,11 +183,13 @@
PKGGENNAME "${outname}" \
PKG_NAME_PREFIX "${PKG_NAME_PREFIX}" \
COMMENT "${comment}" \
+ COMMENT_SUFFIX "${comment_suffix}" \
DESC "${desc}" \
+ DESC_SUFFIX "$desc_suffix" \
CAP_MKDB_ENDIAN "${cap_arg}" \
PKG_WWW "${PKG_WWW}" \
PKG_MAINTAINER "${PKG_MAINTAINER}" \
- UCLFILES "${srctree}/release/packages/" \
+ UCLFILES "${srctree}/release/packages/ucl" \
${uclfile} ${uclfile}
return 0
diff --git a/release/packages/certctl.ucl b/release/packages/ucl/certctl.ucl
rename from release/packages/certctl.ucl
rename to release/packages/ucl/certctl.ucl
diff --git a/release/packages/clang-all.ucl b/release/packages/ucl/clang-all.ucl
rename from release/packages/clang-all.ucl
rename to release/packages/ucl/clang-all.ucl
diff --git a/release/packages/clibs.ucl b/release/packages/ucl/clibs.ucl
rename from release/packages/clibs.ucl
rename to release/packages/ucl/clibs.ucl
diff --git a/release/packages/lld-all.ucl b/release/packages/ucl/lld-all.ucl
rename from release/packages/lld-all.ucl
rename to release/packages/ucl/lld-all.ucl
diff --git a/release/packages/lldb-all.ucl b/release/packages/ucl/lldb-all.ucl
rename from release/packages/lldb-all.ucl
rename to release/packages/ucl/lldb-all.ucl
diff --git a/release/packages/runtime.ucl b/release/packages/ucl/runtime.ucl
rename from release/packages/runtime.ucl
rename to release/packages/ucl/runtime.ucl
diff --git a/release/packages/ssh-all.ucl b/release/packages/ucl/ssh-all.ucl
rename from release/packages/ssh-all.ucl
rename to release/packages/ucl/ssh-all.ucl
diff --git a/release/packages/unbound-all.ucl b/release/packages/ucl/unbound-all.ucl
rename from release/packages/unbound-all.ucl
rename to release/packages/ucl/unbound-all.ucl
diff --git a/release/packages/utilities.ucl b/release/packages/ucl/utilities.ucl
rename from release/packages/utilities.ucl
rename to release/packages/ucl/utilities.ucl
diff --git a/release/packages/ucl/yp-all.ucl b/release/packages/ucl/yp-all.ucl
new file mode 100644
--- /dev/null
+++ b/release/packages/ucl/yp-all.ucl
@@ -0,0 +1,7 @@
+comment = "Yellow Pages (YP) / Network Information Service (NIS)"
+desc = <<EOD
+YP, also called NIS, is a network protocol for sharing name service
+information across machines on a network. This packages contains the YP
+server, YP management utilities, the YP-LDAP gateway (ypldap), YP client
+utilities and a sample Makefile for building the YP database.
+EOD

File Metadata

Mime Type
text/plain
Expires
Mon, Dec 22, 2:27 AM (16 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27131407
Default Alt Text
D50160.id155245.diff (8 KB)

Event Timeline