diff options
Diffstat (limited to 'release/scripts/oracle/generate_metadata.lua')
| -rwxr-xr-x | release/scripts/oracle/generate_metadata.lua | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/release/scripts/oracle/generate_metadata.lua b/release/scripts/oracle/generate_metadata.lua deleted file mode 100755 index 751b9680cc29..000000000000 --- a/release/scripts/oracle/generate_metadata.lua +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/libexec/flua - -local ucl = require("ucl") - --- read from environment variables -local os_type = os.getenv("TYPE") -local os_version = os.getenv("OSRELEASE") --- the raw file -local capability_file = os.getenv("ORACLE_CAPABILITY") --- the platform-specific file -local shapes_file = os.getenv("ORACLE_SHAPES") --- base template -local template_file = os.getenv("ORACLE_TEMPLATE") -local output_file = os.getenv("ORACLE_OUTPUT") - -if not os_type or not os_version or not capability_file or - not shapes_file or not template_file or not output_file then - io.stderr:write("Error: Oracle metadata script is missing required environment variables:\n") - io.stderr:write("TYPE, OSRELEASE, ORACLE_CAPABILITY, ORACLE_SHAPES, ORACLE_TEMPLATE, ORACLE_OUTPUT\n") - os.exit(1) -end - --- read files -local function read_file(path) - local f = io.open(path, "r") - if not f then - io.stderr:write("Error: Oracle metadata script cannot open file: " .. path .. "\n") - os.exit(1) - end - local content = f:read("*a") - f:close() - return content -end - --- parse the template -local template = read_file(template_file) -local metadata = ucl.parser() -metadata:parse_string(template) -local data = metadata:get_object() - --- update the simple fields -data.operatingSystem = os_type -data.operatingSystemVersion = os_version - --- capability data is actually JSON, but needs to be inserted as a raw blob -local caps = read_file(capability_file) --- remove all newlines and preceding spaces to match Oracle's format -caps = caps:gsub("\n", "") -caps = caps:gsub("%s+", "") --- is it still valid JSON? -local caps_parser = ucl.parser() -if not caps_parser:parse_string(caps) then - io.stderr:write("Error: Oracle metadata script found invalid JSON in capability file\n") - os.exit(1) -end --- insert as a raw blob -data.imageCapabilityData = caps - --- parse and insert architecture-dependent shape compatibilities data -local shapes_data = read_file(shapes_file) -local shapes = ucl.parser() -shapes:parse_string(shapes_data) -data.additionalMetadata.shapeCompatibilities = shapes:get_object() - --- save the metadata file -local dir = os.getenv("PWD") -local out = io.open(output_file, "w") -if not out then - io.stderr:write("Error: Oracle metadata script cannot create output file: " - .. dir .. "/" .. output_file .. "\n") - os.exit(1) -end -out:write(ucl.to_format(data, "json", {pretty = true})) -out:close() |
