Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F150055123
D52592.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D52592.id.diff
View Options
diff --git a/release/scripts/pkgbase-stage.lua b/release/scripts/pkgbase-stage.lua
--- a/release/scripts/pkgbase-stage.lua
+++ b/release/scripts/pkgbase-stage.lua
@@ -18,89 +18,47 @@
return output:match("(.-)\n$") or output
end
-local function append_list(list, other)
- for _, item in ipairs(other) do
- table.insert(list, item)
- end
-end
-
-- Returns a list of packages to be included in the given media
local function select_packages(pkg, media, all_libcompats)
- local components = {
- kernel = {},
- kernel_dbg = {},
- base = {},
- base_dbg = {},
- src = {},
- tests = {},
- }
-
- for compat in all_libcompats:gmatch("%S+") do
- components["lib" .. compat] = {}
- components["lib" .. compat .. "_dbg"] = {}
- end
-
+ local components = {}
local rquery = capture(pkg .. "rquery -U -r FreeBSD-base %n")
for package in rquery:gmatch("[^\n]+") do
- if package == "FreeBSD-src" or package:match("^FreeBSD%-src%-.*") then
- table.insert(components["src"], package)
- elseif package == "FreeBSD-tests" or package:match("^FreeBSD%-tests%-.*") then
- table.insert(components["tests"], package)
- elseif package:match("^FreeBSD%-kernel%-.*") and
- package ~= "FreeBSD-kernel-man"
- then
- -- Kernels other than FreeBSD-kernel-generic are ignored
- -- Note that on powerpc64 and powerpc64le the names are
- -- slightly different.
- if package:match("^FreeBSD%-kernel%-generic.*%-dbg") then
- table.insert(components["kernel_dbg"], package)
- elseif package:match("^FreeBSD%-kernel%-generic.*") then
- table.insert(components["kernel"], package)
- end
- elseif package:match(".*%-dbg$") then
- table.insert(components["base_dbg"], package)
- else
- local found = false
- for compat in all_libcompats:gmatch("%S+") do
- if package:match(".*%-dbg%-lib" .. compat .. "$") then
- table.insert(components["lib" .. compat .. "_dbg"], package)
- found = true
- break
- elseif package:match(".*%-lib" .. compat .. "$") then
- table.insert(components["lib" .. compat], package)
- found = true
- break
- end
- end
- if not found then
- table.insert(components["base"], package)
- end
+ local set = package:match("^FreeBSD%-set%-(.*)$")
+ if set then
+ components[set] = package
+ -- Kernels other than FreeBSD-kernel-generic are ignored
+ -- Note that on powerpc64 and powerpc64le the names are
+ -- slightly different.
+ elseif package:match("^FreeBSD%-kernel%-generic.*-dbg") then
+ components["kernel-dbg"] = package
+ elseif package:match("^FreeBSD%-kernel%-generic.*") then
+ components["kernel"] = package
end
end
- assert(#components["kernel"] == 1)
- assert(#components["base"] > 0)
+ assert(components["kernel"])
+ assert(components["base"])
local selected = {}
if media == "disc" then
- append_list(selected, components["base"])
- append_list(selected, components["kernel"])
- append_list(selected, components["kernel_dbg"])
- append_list(selected, components["src"])
- append_list(selected, components["tests"])
+ table.insert(selected, components["base"])
+ table.insert(selected, components["kernel"])
+ table.insert(selected, components["kernel-dbg"])
+ table.insert(selected, components["src"])
+ table.insert(selected, components["tests"])
for compat in all_libcompats:gmatch("%S+") do
- append_list(selected, components["lib" .. compat])
+ table.insert(selected, components["lib" .. compat])
end
else
assert(media == "dvd")
- append_list(selected, components["base"])
- append_list(selected, components["base_dbg"])
- append_list(selected, components["kernel"])
- append_list(selected, components["kernel_dbg"])
- append_list(selected, components["src"])
- append_list(selected, components["tests"])
+ table.insert(selected, components["base"])
+ table.insert(selected, components["base-dbg"])
+ table.insert(selected, components["kernel"])
+ table.insert(selected, components["kernel-dbg"])
+ table.insert(selected, components["src"])
+ table.insert(selected, components["tests"])
for compat in all_libcompats:gmatch("%S+") do
- append_list(selected, components["lib" .. compat])
- append_list(selected, components["lib" .. compat .. "_dbg"])
+ table.insert(selected, components["lib" .. compat])
+ table.insert(selected, components["lib" .. compat .. "-dbg"])
end
end
@@ -138,7 +96,7 @@
local packages = select_packages(pkg, media, all_libcompats)
- assert(os.execute(pkg .. "fetch -o " .. target .. " " .. table.concat(packages, " ")))
+ assert(os.execute(pkg .. "fetch -d -o " .. target .. " " .. table.concat(packages, " ")))
assert(os.execute(pkg .. "repo " .. target))
end
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Mar 30, 1:07 AM (7 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30565310
Default Alt Text
D52592.id.diff (4 KB)
Attached To
Mode
D52592: release: use sets to select base packages
Attached
Detach File
Event Timeline
Log In to Comment