LankeOS v0.14 Release
Codename: K2
核心变更 (Major Changes)
正确性修复
本版本是LankeOS目前唯一一个没有发现任何重大问题的Golden Image:
- 修复构建参数:修复所有因为没有设置sysconfdir导致配置文件被安装到/usr/etc的包,对于systemd,更新到一个能在最新kernel headers下构建的版本(261)给gtk4开启x11 backend和最重要的vulkan功能;wireplumber开启introspection。
- 修复lpkg:基本完全重写了之前的lpkg原子事务功能,同时也backport到了0.13;0.14的lpkg支持更多构建模板变量。
- 使用动态链接:对于tcl,使用系统sqlite;把mesa-demos中默认fallback到自带的libdecor改为独立包。
- 修复不可用的包:在完整自举中,通过构建每个包,迁移中出现问题的坏包被顺利定位,并添加mkdir等修复步骤
- 修改rust构建:添加部分Arch Linux使用的rust patch,并将安装位置迁移到/usr(原来是/usr/local)使用stage2替代原来的stage1。
- sudo修复:原来的sudo没有安装PAM配置,导致其实际上无法在有PAM的系统重新构建并使用,新增PAM配置
本次与0.13及之前的增量添加功能不同。这一次更新,LankeOS停下来进行了重新自举,在自举过程中修复了包管理器和大多数包配置问题。
另外这次release从仓库删除了webkitgtk(没办法,我的机器构建一个firefox压力就足够大了,如果要经常自举那么webkitgtk是一大速度优化点:其没用,有firefox替代而且构建时间长)
迁移指南
- 本次更新没有引入breaking change,可以放心迁移(注意:如果你手动lpkg reinstall或者通过别的方式覆盖了sudo,可能导致部分问题,推荐在进入系统之后使用lpkg upgrade更新到最新软件集合)
镜像体积变化
ISO体积达到了 1.28GiB。
这次iso集成的软件新增了libdecor,gtk4和其所有依赖。
稳定性与兼容性
本版本经过在 Dell OptiPlex 5000 Micro(实体机) 上的严格验证:
- 新的正确性修复完美运行,/usr/etc已经删除
- 新的stage2 rust正常工作,成功重新构建firefox
- 自举脚本运行正常,完美构建所有包(仓库中的所有包已经替换为这次自举之后的版本)
- 自举之后所有软件全部正确运行
下一步计划 (Roadmap)
- 完善蓝牙协议栈(BlueZ + PipeWire 桥接)(0.14-2完成)
开发者的话
0.14 的主题是 “发行版工作流补全”。
之前的版本用户体验是有了——但是如果一个项目不维护,那么其只能叫LFS而不是一个Linux发行版。
虽然LankeOS之前有零散的软件包更新,但是一直没有过全量的重新自举。0.14补全了目前LankeOS技术最薄弱的部分。
对于用户体验更新,这次主要是bugfix,没有引入什么惊人的功能——如果出现了什么bug可以尝试使用lpkg upgrade
(现在更新体系已经在确立,在引入release系统之后可以很方便地发布hotfix,所以LankeOS已经步入稳定滚动更新阶段,以后版本号还是会发,但是大改动基本已经稳定,可以直接通过upgrade升级包而不需要使用最新镜像)
—— Wtada233
7月17日更新:添加全面的CI流程&优化构建文档
7月18日release修改:添加0.02-0.14的完整diff作为这次重大release的纪念品
7月23日较大更新
- 添加接近10个包,zoxide+fzf+eza+bat+tmux+jq+rg等基础工具
- 修复:在starship包中加入fish vendor conf取代原来的自带配置中硬编码starship
- 修复:为curl添加HTTP/2支持
- lpkg 修复:upgrade时的依赖解析功能添加和相关测试
7月25日修复&更新&兼容性
- 添加10+个包,现在LankeOS有305个包
- 添加libpulse和pipewire的pulseaudio兼容,支持目前主流Linux发行版三大音频栈的兼容性
- 添加bluez和blueman,写了好几个版本TODO的蓝牙终于好了
- 为systemd添加libseccomp支持,同时修复lpkg的部分问题(详情见仓库commits,主要是关于孤立目录移除的)