diff --git a/data/computercraft/lua/bios.lua b/data/computercraft/lua/bios.lua index ba66a59..a660236 100644 --- a/data/computercraft/lua/bios.lua +++ b/data/computercraft/lua/bios.lua @@ -1,4 +1,4 @@ -_G._HOST = _G._HOST .. " (LeonOS 0.3.5)" +_G._HOST = _G._HOST .. " (LeonOS 0.3.6)" local fs = rawget(_G, "fs") _G._RC_ROM_DIR = _RC_ROM_DIR or (...) and fs.exists("/leonos") and "/leonos" or "/rom" @@ -31,8 +31,8 @@ local rc = { _NAME = "LeonOS", _VERSION = { major = 0, - minor = 3, - patch = 5 + minor = 3, + patch = 6 }, queueEvent = pull(os, "queueEvent"), startTimer = pull(os, "startTimer"), diff --git a/data/computercraft/lua/rom/packages/example-pkg/1.0.0/completions/example.lua b/data/computercraft/lua/packages/example-pkg/1.0.0/completions/example.lua similarity index 100% rename from data/computercraft/lua/rom/packages/example-pkg/1.0.0/completions/example.lua rename to data/computercraft/lua/packages/example-pkg/1.0.0/completions/example.lua diff --git a/data/computercraft/lua/rom/packages/example-pkg/1.0.0/package.json b/data/computercraft/lua/packages/example-pkg/1.0.0/package.json similarity index 100% rename from data/computercraft/lua/rom/packages/example-pkg/1.0.0/package.json rename to data/computercraft/lua/packages/example-pkg/1.0.0/package.json diff --git a/data/computercraft/lua/rom/packages/example-pkg/1.0.0/programs/example.lua b/data/computercraft/lua/packages/example-pkg/1.0.0/programs/example.lua similarity index 100% rename from data/computercraft/lua/rom/packages/example-pkg/1.0.0/programs/example.lua rename to data/computercraft/lua/packages/example-pkg/1.0.0/programs/example.lua diff --git a/data/computercraft/lua/rom/packages/installed.json b/data/computercraft/lua/packages/installed.json similarity index 100% rename from data/computercraft/lua/rom/packages/installed.json rename to data/computercraft/lua/packages/installed.json diff --git a/data/computercraft/lua/rom/programs/pkg.lua b/data/computercraft/lua/rom/programs/pkg.lua index b47894f..adc3457 100644 --- a/data/computercraft/lua/rom/programs/pkg.lua +++ b/data/computercraft/lua/rom/programs/pkg.lua @@ -26,9 +26,9 @@ term.at(1, 2) -- 包管理器配置 local pkg_config = { repo_url = "https://example.com/leonos/packages", -- 包仓库URL - local_pkg_dir = "/leonos/packages", -- 本地包存储目录 - installed_db = "/leonos/packages/installed.json", -- 已安装包数据库 - cache_dir = "/leonos/cache" -- 缓存目录 + local_pkg_dir = "/packages", -- 本地包存储目录 + installed_db = "/packages/installed.json", -- 已安装包数据库 + cache_dir = "/rom/cache" -- 缓存目录 } -- 确保必要的目录存在 @@ -136,7 +136,7 @@ local function install_package(pkg_name, options) print("Installing version: " .. latest_version) for _, file_path in ipairs(meta.files or {}) do local src = fs.combine(version_path, file_path) - local dest = fs.combine("/leonos", file_path) + local dest = fs.combine("/rom", file_path) -- 确保目标目录存在 local dest_dir = fs.getDir(dest) @@ -250,7 +250,7 @@ local function remove_package(pkg_name) if ok and meta then -- 删除包文件 for _, file_path in ipairs(meta.files or {}) do - local dest = fs.combine("/leonos", file_path) + local dest = fs.combine("/rom", file_path) if fs.exists(dest) then fs.delete(dest) print("Removed: " .. file_path) diff --git a/installer.lua b/installer.lua index d8c29e5..0245f11 100644 --- a/installer.lua +++ b/installer.lua @@ -1,5 +1,5 @@ -- LeonOS installer -local INSTALLER_VERSION = "0.3.5" +local INSTALLER_VERSION = "0.3.6" local DEFAULT_ROM_DIR = "/leonos" print("Start loading LeonOS installer ("..INSTALLER_VERSION..")...") @@ -114,6 +114,7 @@ local function bullet(t) tu.coloredWrite(colors.red, "- ", colors.white, t) end +-- Function for "xxx...OK" local function ok() tu.coloredPrint(colors.green, "OK", colors.white) end @@ -132,7 +133,12 @@ local to_dl = {} for _, v in pairs(repodata.tree) do if v.path and v.path:sub(1,#look) == look then v.path = v.path:sub(#look+1) - v.real_path = v.path:gsub("^/?rom", ROM_DIR) + -- 特殊处理packages文件夹,将其放在根目录 + if v.path:sub(1, 9) == "packages/" then + v.real_path = v.path + else + v.real_path = v.path:gsub("^/?rom", ROM_DIR) + end to_dl[#to_dl+1] = v end end