feat(pkg): 更新包管理系统并升级至LeonOS 0.3.6

- 将包安装目录从/leonos/packages迁移至/packages
- 更新版本号至0.3.6
- 修改installer.lua以正确处理packages目录
- 更新pkg.lua程序适配新的包路径
- 添加示例包文件到新位置
This commit is contained in:
2025-09-02 09:51:29 +08:00
parent 5bf8abf22f
commit 9867d4522c
7 changed files with 16 additions and 10 deletions

View File

@@ -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"
@@ -32,7 +32,7 @@ local rc = {
_VERSION = {
major = 0,
minor = 3,
patch = 5
patch = 6
},
queueEvent = pull(os, "queueEvent"),
startTimer = pull(os, "startTimer"),

View File

@@ -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)

View File

@@ -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