svn commit: r367666 - in stable/12: . stand/lua
Kyle Evans
kevans at FreeBSD.org
Sat Nov 14 02:11:06 UTC 2020
Author: kevans
Date: Sat Nov 14 02:11:04 2020
New Revision: 367666
URL: https://svnweb.freebsd.org/changeset/base/367666
Log:
MFC r366435: lualoader: improve the design of the brand-/logo- mechanism
In the previous world order, any brand/logo was forced to pull in the
drawer and call drawer.add{Brand,Logo} with the name their brand/logo is
taking and a table describing it.
In the new world order, these files just need to return a table that maps
out graphics types to a table of the exact same format as what was
previously being passed back into the drawer. The appeal here is not needing
to grab a reference back to the drawer module and having a cleaner
data-driven looking format for these. The format has been renamed to 'gfx-*'
prefixes and each one can provide a logo and a brand.
drawer.addBrand/drawer.addLogo will remain in place until FreeBSD 13, as
there's no overhead to them and it's not yet worth the break in
compatibility with any pre-existing brands and logos.
Added:
stable/12/stand/lua/gfx-beastie.lua
- copied unchanged from r366435, head/stand/lua/gfx-beastie.lua
stable/12/stand/lua/gfx-beastiebw.lua
- copied unchanged from r366435, head/stand/lua/gfx-beastiebw.lua
stable/12/stand/lua/gfx-fbsdbw.lua
- copied unchanged from r366435, head/stand/lua/gfx-fbsdbw.lua
stable/12/stand/lua/gfx-orb.lua
- copied unchanged from r366435, head/stand/lua/gfx-orb.lua
stable/12/stand/lua/gfx-orbbw.lua
- copied unchanged from r366435, head/stand/lua/gfx-orbbw.lua
Deleted:
stable/12/stand/lua/logo-beastie.lua
stable/12/stand/lua/logo-beastiebw.lua
stable/12/stand/lua/logo-fbsdbw.lua
stable/12/stand/lua/logo-orb.lua
stable/12/stand/lua/logo-orbbw.lua
Modified:
stable/12/ObsoleteFiles.inc
stable/12/stand/lua/Makefile
stable/12/stand/lua/drawer.lua
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/ObsoleteFiles.inc
==============================================================================
--- stable/12/ObsoleteFiles.inc Sat Nov 14 02:03:34 2020 (r367665)
+++ stable/12/ObsoleteFiles.inc Sat Nov 14 02:11:04 2020 (r367666)
@@ -38,6 +38,13 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20201004: logo files renamed to type-agnostic gfx-*.lua
+OLD_FILES+=boot/lua/logo-beastie.lua
+OLD_FILES+=boot/lua/logo-beastiebw.lua
+OLD_FILES+=boot/lua/logo-fbsdbw.lua
+OLD_FILES+=boot/lua/logo-orb.lua
+OLD_FILES+=boot/lua/logo-orbbw.lua
+
# 20200722: new clang import which bumps version from 10.0.0 to 10.0.1.
OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/algorithm
OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/complex
Modified: stable/12/stand/lua/Makefile
==============================================================================
--- stable/12/stand/lua/Makefile Sat Nov 14 02:03:34 2020 (r367665)
+++ stable/12/stand/lua/Makefile Sat Nov 14 02:11:04 2020 (r367666)
@@ -20,11 +20,11 @@ FILES= cli.lua \
drawer.lua \
hook.lua \
loader.lua \
- logo-beastie.lua \
- logo-beastiebw.lua \
- logo-fbsdbw.lua \
- logo-orb.lua \
- logo-orbbw.lua \
+ gfx-beastie.lua \
+ gfx-beastiebw.lua \
+ gfx-fbsdbw.lua \
+ gfx-orb.lua \
+ gfx-orbbw.lua \
menu.lua \
password.lua \
screen.lua
Modified: stable/12/stand/lua/drawer.lua
==============================================================================
--- stable/12/stand/lua/drawer.lua Sat Nov 14 02:03:34 2020 (r367665)
+++ stable/12/stand/lua/drawer.lua Sat Nov 14 02:11:04 2020 (r367666)
@@ -61,6 +61,35 @@ local function menuEntryName(drawing_menu, entry)
return entry.name
end
+local function processFile(gfxname)
+ if gfxname == nil then
+ return false, "Missing filename"
+ end
+
+ local ret = try_include('gfx-' .. gfxname)
+ if ret == nil then
+ return false, "Failed to include gfx-" .. gfxname
+ end
+
+ -- Legacy format
+ if type(ret) ~= "table" then
+ return true
+ end
+
+ for gfxtype, def in pairs(ret) do
+ if gfxtype == "brand" then
+ drawer.addBrand(gfxname, def)
+ elseif gfxtype == "logo" then
+ drawer.addLogo(gfxname, def)
+ else
+ return false, "Unknown graphics type '" .. gfxtype ..
+ "'"
+ end
+ end
+
+ return true
+end
+
local function getBranddef(brand)
if brand == nil then
return nil
@@ -70,7 +99,18 @@ local function getBranddef(brand)
-- Try to pull it in
if branddef == nil then
- try_include('brand-' .. brand)
+ local res, err = processFile(brand)
+ if not res then
+ -- This fallback should go away after FreeBSD 13.
+ try_include('brand-' .. brand)
+ -- If the fallback also failed, print whatever error
+ -- we encountered in the original processing.
+ if branddefs[brand] == nil then
+ print(err)
+ return nil
+ end
+ end
+
branddef = branddefs[brand]
end
@@ -86,7 +126,18 @@ local function getLogodef(logo)
-- Try to pull it in
if logodef == nil then
- try_include('logo-' .. logo)
+ local res, err = processFile(logo)
+ if not res then
+ -- This fallback should go away after FreeBSD 13.
+ try_include('logo-' .. logo)
+ -- If the fallback also failed, print whatever error
+ -- we encountered in the original processing.
+ if logodefs[logo] == nil then
+ print(err)
+ return nil
+ end
+ end
+
logodef = logodefs[logo]
end
@@ -364,6 +415,8 @@ drawer.default_bw_logodef = 'orbbw'
-- drawer module in case it's a filesystem issue.
drawer.default_fallback_logodef = 'none'
+-- These should go away after FreeBSD 13; only available for backwards
+-- compatibility with old logo- files.
function drawer.addBrand(name, def)
branddefs[name] = def
end
Copied: stable/12/stand/lua/gfx-beastie.lua (from r366435, head/stand/lua/gfx-beastie.lua)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/stand/lua/gfx-beastie.lua Sat Nov 14 02:11:04 2020 (r367666, copy of r366435, head/stand/lua/gfx-beastie.lua)
@@ -0,0 +1,55 @@
+--
+-- SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+--
+-- Copyright (c) 2018 Kyle Evans <kevans at FreeBSD.org>
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+-- 1. Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+-- 2. Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in the
+-- documentation and/or other materials provided with the distribution.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+-- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+-- SUCH DAMAGE.
+--
+-- $FreeBSD$
+--
+
+return {
+ logo = {
+ graphic = {
+ " \027[31m, ,",
+ " /( )`",
+ " \\ \\___ / |",
+ " /- \027[37m_\027[31m `-/ '",
+ " (\027[37m/\\/ \\\027[31m \\ /\\",
+ " \027[37m/ / |\027[31m ` \\",
+ " \027[34mO O \027[37m) \027[31m/ |",
+ " \027[37m`-^--'\027[31m`< '",
+ " (_.) _ ) /",
+ " `.___/` /",
+ " `-----' /",
+ " \027[33m<----.\027[31m __ / __ \\",
+ " \027[33m<----|====\027[31mO)))\027[33m==\027[31m) \\) /\027[33m====|",
+ " \027[33m<----'\027[31m `--' `.__,' \\",
+ " | |",
+ " \\ / /\\",
+ " \027[36m______\027[31m( (_ / \\______/",
+ " \027[36m,' ,-----' |",
+ " `--{__________)\027[m",
+ },
+ requires_color = true,
+ }
+}
Copied: stable/12/stand/lua/gfx-beastiebw.lua (from r366435, head/stand/lua/gfx-beastiebw.lua)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/stand/lua/gfx-beastiebw.lua Sat Nov 14 02:11:04 2020 (r367666, copy of r366435, head/stand/lua/gfx-beastiebw.lua)
@@ -0,0 +1,54 @@
+--
+-- SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+--
+-- Copyright (c) 2018 Kyle Evans <kevans at FreeBSD.org>
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+-- 1. Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+-- 2. Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in the
+-- documentation and/or other materials provided with the distribution.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+-- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+-- SUCH DAMAGE.
+--
+-- $FreeBSD$
+--
+
+return {
+ logo = {
+ graphic = {
+ " , ,",
+ " /( )`",
+ " \\ \\___ / |",
+ " /- _ `-/ '",
+ " (/\\/ \\ \\ /\\",
+ " / / | ` \\",
+ " O O ) / |",
+ " `-^--'`< '",
+ " (_.) _ ) /",
+ " `.___/` /",
+ " `-----' /",
+ " <----. __ / __ \\",
+ " <----|====O)))==) \\) /====|",
+ " <----' `--' `.__,' \\",
+ " | |",
+ " \\ / /\\",
+ " ______( (_ / \\______/",
+ " ,' ,-----' |",
+ " `--{__________)",
+ },
+ }
+}
Copied: stable/12/stand/lua/gfx-fbsdbw.lua (from r366435, head/stand/lua/gfx-fbsdbw.lua)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/stand/lua/gfx-fbsdbw.lua Sat Nov 14 02:11:04 2020 (r367666, copy of r366435, head/stand/lua/gfx-fbsdbw.lua)
@@ -0,0 +1,49 @@
+--
+-- SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+--
+-- Copyright (c) 2018 Kyle Evans <kevans at FreeBSD.org>
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+-- 1. Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+-- 2. Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in the
+-- documentation and/or other materials provided with the distribution.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+-- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+-- SUCH DAMAGE.
+--
+-- $FreeBSD$
+--
+
+return {
+ logo = {
+ graphic = {
+ " ______",
+ " | ____| __ ___ ___ ",
+ " | |__ | '__/ _ \\/ _ \\",
+ " | __|| | | __/ __/",
+ " | | | | | | |",
+ " |_| |_| \\___|\\___|",
+ " ____ _____ _____",
+ " | _ \\ / ____| __ \\",
+ " | |_) | (___ | | | |",
+ " | _ < \\___ \\| | | |",
+ " | |_) |____) | |__| |",
+ " | | | |",
+ " |____/|_____/|_____/",
+ },
+ shift = {x = 5, y = 4},
+ }
+}
Copied: stable/12/stand/lua/gfx-orb.lua (from r366435, head/stand/lua/gfx-orb.lua)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/stand/lua/gfx-orb.lua Sat Nov 14 02:11:04 2020 (r367666, copy of r366435, head/stand/lua/gfx-orb.lua)
@@ -0,0 +1,52 @@
+--
+-- SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+--
+-- Copyright (c) 2018 Kyle Evans <kevans at FreeBSD.org>
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+-- 1. Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+-- 2. Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in the
+-- documentation and/or other materials provided with the distribution.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+-- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+-- SUCH DAMAGE.
+--
+-- $FreeBSD$
+--
+
+return {
+ logo = {
+ graphic = {
+ " \027[31m``` \027[31;1m`\027[31m",
+ " s` `.....---...\027[31;1m....--.``` -/\027[31m",
+ " +o .--` \027[31;1m/y:` +.\027[31m",
+ " yo`:. \027[31;1m:o `+-\027[31m",
+ " y/ \027[31;1m-/` -o/\027[31m",
+ " .- \027[31;1m::/sy+:.\027[31m",
+ " / \027[31;1m`-- /\027[31m",
+ " `: \027[31;1m:`\027[31m",
+ " `: \027[31;1m:`\027[31m",
+ " / \027[31;1m/\027[31m",
+ " .- \027[31;1m-.\027[31m",
+ " -- \027[31;1m-.\027[31m",
+ " `:` \027[31;1m`:`",
+ " \027[31;1m.-- `--.",
+ " .---.....----.\027[m",
+ },
+ requires_color = true,
+ shift = {x = 2, y = 4},
+ }
+}
Copied: stable/12/stand/lua/gfx-orbbw.lua (from r366435, head/stand/lua/gfx-orbbw.lua)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/stand/lua/gfx-orbbw.lua Sat Nov 14 02:11:04 2020 (r367666, copy of r366435, head/stand/lua/gfx-orbbw.lua)
@@ -0,0 +1,51 @@
+--
+-- SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+--
+-- Copyright (c) 2018 Kyle Evans <kevans at FreeBSD.org>
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions
+-- are met:
+-- 1. Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+-- 2. Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in the
+-- documentation and/or other materials provided with the distribution.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+-- ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+-- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+-- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+-- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+-- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+-- SUCH DAMAGE.
+--
+-- $FreeBSD$
+--
+
+return {
+ logo = {
+ graphic = {
+ " ``` `",
+ " s` `.....---.......--.``` -/",
+ " +o .--` /y:` +.",
+ " yo`:. :o `+-",
+ " y/ -/` -o/",
+ " .- ::/sy+:.",
+ " / `-- /",
+ " `: :`",
+ " `: :`",
+ " / /",
+ " .- -.",
+ " -- -.",
+ " `:` `:`",
+ " .-- `--.",
+ " .---.....----.",
+ },
+ shift = {x = 2, y = 4},
+ }
+}
More information about the svn-src-stable
mailing list