Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F140171925
D50160.id155245.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
8 KB
Referenced Files
None
Subscribers
None
D50160.id155245.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D50160: packages: move ucl files to a subdirectory
Attached
Detach File
Event Timeline
Log In to Comment