Skip to content

Commit

Permalink
feat(news): add 2024-12-29-oma-1.13
Browse files Browse the repository at this point in the history
  • Loading branch information
xunpod authored and MingcongBai committed Dec 30, 2024
1 parent bb6380f commit 01fe45c
Show file tree
Hide file tree
Showing 4 changed files with 210 additions and 2 deletions.
1 change: 0 additions & 1 deletion public/news/2024-12-23-oma-1.13-rc1.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ categories:
title: "小熊猫包管理 (oma) 1.13.0-rc1 测试版发布"
date: 2024-12-23T22:00:00+08:00
important: true
home: true
---

![o... oma 1.13... 来了!](/assets/news/oma-1.13-banner.png)
Expand Down
1 change: 0 additions & 1 deletion public/news/2024-12-23-oma-1.13-rc1.zh-cn.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ categories:
title: "小熊猫包管理 (oma) 1.13.0-rc1 测试版发布"
date: 2024-12-23T22:00:00+08:00
important: true
home: true
---

![o... oma 1.13... 来了!](/assets/news/oma-1.13-banner.png)
Expand Down
105 changes: 105 additions & 0 deletions public/news/2024-12-29-oma-1.13.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@

---
categories:
- advisories
title: "小熊猫包管理 (oma) 1.13.0 发布"
date: 2024-12-29T22:00:00+08:00
important: true
home: true
---

![o... oma 1.13... 来了!](https://aosc.io/assets/news/oma-1.13-banner.png)

本次发布的 1.13 更新包含近 20 个新特性;其中,我们针对审阅界面及内容阅读器进行了界面优化和强化,并对测试源选择界面 (oma topics) 进行了清理。

针对安同 OS,我们引入了更新元数据 (Topic Update Manifest) 规范的支持,可对关键系统更新进行概括化、更为人性化的展示;针对 Debian 系发行版,我们引入了对 multiarch 及 Ubuntu Pro 等专属特性的支持,并针对其依赖树复杂度导致的性能问题进行了针对性优化。

如上所述,oma 1.13 是我们对易用性和性能持续关注和改善的成果——让我们一起了解本次 oma 特性更新带来的各种新功能和修复吧!

## 新特性一览

### 安同 Update!更新元数据支持

每次更新系统,到底更新了什么呢?看着长长的变更列表,想必您也时常会感到头大且不知所云。为了让用户朋友们更直观地了解到安同 OS 各更新中的关键点,我们设计了[更新元数据 (Topic Update Manifest)](https://wiki.aosc.io/zh/developer/packaging/topic-update-manifest/ "更新元数据 (Topic Update Manifest)") 规范,对单个或一组系统组件更新的标题、波及范围和注意事项等进行标注,并支持多语言。

![安同 Update!今天您更新了吗?](https://aosc.io/assets/news/oma-1.13-update.png)

oma 方面,我们根据 Windows Update 的启发,根据这一元数据的记录,将更新归纳、概括,并以更为人性化的方式呈现给用户(如上图)。随着更新元数据的覆盖和完善,安同 OS 下 oma 的系统更新界面将更直观易用。

### 软件包修改新增逻辑排序

当我们使用 oma 操作软件包增减时,可能会波及大量软件包。有时,一次系统更新可能会导致某些软件包不再被需要,进而被 oma 标记为“不再需要的依赖”被清理掉。此时,用户朋友可能会感到迷惑:为什么我明明没有卸载软件包,只是更新个系统而已,会导致软件包被卸载了呢?

为此,我们重新设计了 oma 表格对软件包修改信息的排序:

![oma 1.13 为软件包修改新增了逻辑排序](https://aosc.io/assets/news/oma-1.13-sort.png)

如图,输入 `oma remove scour` 时,oma 会首先显示用户指定的 `scour` 被卸载,而后是依赖已无法满足的 `inkscape` 被卸载,之后再显示 `gdl``gtkmm` 等卸载指定软件包后新出现、将被清理的无用依赖。

### 版本号变化高亮

![oma 1.13 新增版本变化高亮](https://aosc.io/assets/news/oma-1.13-heighlight.png)

[pikaur](https://github.com/actionless/pikaur "pikaur") 启发,oma 1.13 新增了软件包被升级/降级时的版本号差异高亮,版本变化一目了然。

### Debian/Ubuntu 支持改进

oma 1.13 包含许多针对 Debian/Ubuntu 及其衍生版的兼容性及使用体验改进:

- 新增 `/etc/apt/auth.conf.d` 的支持,Ubuntu 用户现可通过 oma 使用 Ubuntu Pro 软件源
- 新增了 `/var/lib/dpkg/arch` 文件读取支持,oma 在 Debian/Ubuntu 上可以直接识别通过 `dpkg --add-architecture` 添加的 multiarch 架构了
- 针对 Debian/Ubuntu 及衍生发行版,为 `oma upgrade` 添加 `--no-remove` 选项,指定该参数后,`oma upgrade` 行为与 `apt upgrade` 一致

### 其他新特性

#### 软件源及网络传输支持

- 新增简单 `Release` 源(现在更常用 `InRelease` 编目)的签名验证支持
- 新增下载超时功能,避免无谓等待

#### 界面更改

- 修改测试源设置界面 `oma topics`,默认过滤未开始公开测试的测试源 (topics),使用 `--all` 参数即可全部列出
- 为 oma 的内容阅读器添加了 `u``d` 快捷键,对应往上/下滚动(感谢 [@ziyao233](https://github.com/ziyao233 "@ziyao233") 的特性请求)
- 更改 oma TUI 界面行为,移除升级和自动清理选项,改为使用 `Ctrl + u` 快捷键升级系统、`Ctrl + a` 快捷键清理不再需要的软件包
- 新增“在解析依赖关系…”状态提示,在依赖关系解析耗时较长时给用户予提醒

#### 功能及选项更改

- 新增已安装软件包列表 `/var/lib/oma/installed` 记录支持,以便进行备份恢复
- 更改 `--fix-broken` 行为,新增 `--no-fix-dpkg-status` 参数,将修复 dpkg 状态的行为控制拆分出来

#### 其他非功能性修改

- 新增针对 Debian/Ubuntu 及衍生版 `arm64``loong64` 架构的 oma 安装包
- 新增 Linux Mint 及 Debian Testing/Sid 安装支持(感谢[白铭骢](https://github.com/MingcongBai "白铭骢")的贡献!)
- 新增 `oma-console``oma-contents` 文档(感谢 [@wxwind](https://github.com/wxwind "@wxwind")[白铭骢](https://github.com/MingcongBai "白铭骢")的贡献!)
- 翻修源码仓库自述文件 (README)(感谢 [@wxwind](https://github.com/wxwind "@wxwind")[白铭骢](https://github.com/MingcongBai "白铭骢")的贡献!)

## 问题修复

- 修复了同时打开 `deb-src``deb` 源时,刷新界面 (`oma refresh`) 总进度条到 100% 会锁死的问题
- 修复了非终端下仍显示动态进度条的问题
- 修复了指定 `--dry-run` 参数后仍然需要 root 权限的问题(感谢 @nobootleg 的问题报告)
- 修复了 `oma pick` 中版本号超出终端宽度时界面崩坏的问题
- 修复了指定 `--debug` 后将 oma 的运行输出重定向至文件时,文件中带有 ANSI 标记的问题

## 安装指南

相关更新已推送至安同 OS 稳定源,用户朋友们可以直接更新系统,获取 oma 1.13.0 更新。

oma 还支持其他 Debian 系或基于 APT 包管理的发行版,并支持 x86-64 (amd64)、AArch64 (arm64) 及龙架构 (loong64) 三个处理器架构;oma 目前支持的操作系统及版本如下:

- Debian Trixie/Sid
- Debian 12
- Debian 11
- Ubuntu 24.04 LTS
- Ubuntu 22.04 LTS
- Ubuntu 20.04 LTS
- Linux Mint 22 系列
- Linux Mint 21 系列
- Linux Mint 20 系列
- Linux Mint Debian Edition 6 系列
- deepin V23
- 开放麒麟 (openKylin) 2.0
- GXDE OS 15
105 changes: 105 additions & 0 deletions public/news/2024-12-29-oma-1.13.zh-cn.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@

---
categories:
- advisories
title: "小熊猫包管理 (oma) 1.13.0 发布"
date: 2024-12-29T22:00:00+08:00
important: true
home: true
---

![o... oma 1.13... 来了!](https://aosc.io/assets/news/oma-1.13-banner.png)

本次发布的 1.13 更新包含近 20 个新特性;其中,我们针对审阅界面及内容阅读器进行了界面优化和强化,并对测试源选择界面 (oma topics) 进行了清理。

针对安同 OS,我们引入了更新元数据 (Topic Update Manifest) 规范的支持,可对关键系统更新进行概括化、更为人性化的展示;针对 Debian 系发行版,我们引入了对 multiarch 及 Ubuntu Pro 等专属特性的支持,并针对其依赖树复杂度导致的性能问题进行了针对性优化。

如上所述,oma 1.13 是我们对易用性和性能持续关注和改善的成果——让我们一起了解本次 oma 特性更新带来的各种新功能和修复吧!

## 新特性一览

### 安同 Update!更新元数据支持

每次更新系统,到底更新了什么呢?看着长长的变更列表,想必您也时常会感到头大且不知所云。为了让用户朋友们更直观地了解到安同 OS 各更新中的关键点,我们设计了[更新元数据 (Topic Update Manifest)](https://wiki.aosc.io/zh/developer/packaging/topic-update-manifest/ "更新元数据 (Topic Update Manifest)") 规范,对单个或一组系统组件更新的标题、波及范围和注意事项等进行标注,并支持多语言。

![安同 Update!今天您更新了吗?](https://aosc.io/assets/news/oma-1.13-update.png)

oma 方面,我们根据 Windows Update 的启发,根据这一元数据的记录,将更新归纳、概括,并以更为人性化的方式呈现给用户(如上图)。随着更新元数据的覆盖和完善,安同 OS 下 oma 的系统更新界面将更直观易用。

### 软件包修改新增逻辑排序

当我们使用 oma 操作软件包增减时,可能会波及大量软件包。有时,一次系统更新可能会导致某些软件包不再被需要,进而被 oma 标记为“不再需要的依赖”被清理掉。此时,用户朋友可能会感到迷惑:为什么我明明没有卸载软件包,只是更新个系统而已,会导致软件包被卸载了呢?

为此,我们重新设计了 oma 表格对软件包修改信息的排序:

![oma 1.13 为软件包修改新增了逻辑排序](https://aosc.io/assets/news/oma-1.13-sort.png)

如图,输入 `oma remove scour` 时,oma 会首先显示用户指定的 `scour` 被卸载,而后是依赖已无法满足的 `inkscape` 被卸载,之后再显示 `gdl``gtkmm` 等卸载指定软件包后新出现、将被清理的无用依赖。

### 版本号变化高亮

![oma 1.13 新增版本变化高亮](https://aosc.io/assets/news/oma-1.13-heighlight.png)

[pikaur](https://github.com/actionless/pikaur "pikaur") 启发,oma 1.13 新增了软件包被升级/降级时的版本号差异高亮,版本变化一目了然。

### Debian/Ubuntu 支持改进

oma 1.13 包含许多针对 Debian/Ubuntu 及其衍生版的兼容性及使用体验改进:

- 新增 `/etc/apt/auth.conf.d` 的支持,Ubuntu 用户现可通过 oma 使用 Ubuntu Pro 软件源
- 新增了 `/var/lib/dpkg/arch` 文件读取支持,oma 在 Debian/Ubuntu 上可以直接识别通过 `dpkg --add-architecture` 添加的 multiarch 架构了
- 针对 Debian/Ubuntu 及衍生发行版,为 `oma upgrade` 添加 `--no-remove` 选项,指定该参数后,`oma upgrade` 行为与 `apt upgrade` 一致

### 其他新特性

#### 软件源及网络传输支持

- 新增简单 `Release` 源(现在更常用 `InRelease` 编目)的签名验证支持
- 新增下载超时功能,避免无谓等待

#### 界面更改

- 修改测试源设置界面 `oma topics`,默认过滤未开始公开测试的测试源 (topics),使用 `--all` 参数即可全部列出
- 为 oma 的内容阅读器添加了 `u``d` 快捷键,对应往上/下滚动(感谢 [@ziyao233](https://github.com/ziyao233 "@ziyao233") 的特性请求)
- 更改 oma TUI 界面行为,移除升级和自动清理选项,改为使用 `Ctrl + u` 快捷键升级系统、`Ctrl + a` 快捷键清理不再需要的软件包
- 新增“在解析依赖关系…”状态提示,在依赖关系解析耗时较长时给用户予提醒

#### 功能及选项更改

- 新增已安装软件包列表 `/var/lib/oma/installed` 记录支持,以便进行备份恢复
- 更改 `--fix-broken` 行为,新增 `--no-fix-dpkg-status` 参数,将修复 dpkg 状态的行为控制拆分出来

#### 其他非功能性修改

- 新增针对 Debian/Ubuntu 及衍生版 `arm64``loong64` 架构的 oma 安装包
- 新增 Linux Mint 及 Debian Testing/Sid 安装支持(感谢[白铭骢](https://github.com/MingcongBai "白铭骢")的贡献!)
- 新增 `oma-console``oma-contents` 文档(感谢 [@wxwind](https://github.com/wxwind "@wxwind")[白铭骢](https://github.com/MingcongBai "白铭骢")的贡献!)
- 翻修源码仓库自述文件 (README)(感谢 [@wxwind](https://github.com/wxwind "@wxwind")[白铭骢](https://github.com/MingcongBai "白铭骢")的贡献!)

## 问题修复

- 修复了同时打开 `deb-src``deb` 源时,刷新界面 (`oma refresh`) 总进度条到 100% 会锁死的问题
- 修复了非终端下仍显示动态进度条的问题
- 修复了指定 `--dry-run` 参数后仍然需要 root 权限的问题(感谢 @nobootleg 的问题报告)
- 修复了 `oma pick` 中版本号超出终端宽度时界面崩坏的问题
- 修复了指定 `--debug` 后将 oma 的运行输出重定向至文件时,文件中带有 ANSI 标记的问题

## 安装指南

相关更新已推送至安同 OS 稳定源,用户朋友们可以直接更新系统,获取 oma 1.13.0 更新。

oma 还支持其他 Debian 系或基于 APT 包管理的发行版,并支持 x86-64 (amd64)、AArch64 (arm64) 及龙架构 (loong64) 三个处理器架构;oma 目前支持的操作系统及版本如下:

- Debian Trixie/Sid
- Debian 12
- Debian 11
- Ubuntu 24.04 LTS
- Ubuntu 22.04 LTS
- Ubuntu 20.04 LTS
- Linux Mint 22 系列
- Linux Mint 21 系列
- Linux Mint 20 系列
- Linux Mint Debian Edition 6 系列
- deepin V23
- 开放麒麟 (openKylin) 2.0
- GXDE OS 15

0 comments on commit 01fe45c

Please sign in to comment.