Skip to content

Commit

Permalink
packaging: add TUM
Browse files Browse the repository at this point in the history
  • Loading branch information
MingcongBai committed Dec 23, 2024
1 parent c5ad2a6 commit aa37ea8
Show file tree
Hide file tree
Showing 2 changed files with 203 additions and 0 deletions.
104 changes: 104 additions & 0 deletions content/developer/packaging/topic-update-manifest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
+++
title = "Topic Update Manifest"
description = "Metadata for AOSC OS Updates"
+++

Overview
===

The topic update manifest aims to provide a user-readable overview of changes
during system updates. The files are stored in the TOML format in the
[ABBS tree](https://github.com/AOSC-Dev/aosc-os-abbs) and converted into the
JSON format on the server-side.

Examples
===

Below is an example for a conventional topic update manifest file:

```
name.default = "KDE Updates (Winter 2023)"
name.zh_CN = "KDE 更新(2023 年冬季)"
# Security update (true/false)?
security = true
# OPTIONAL: PSA message for users.
caution.default = """
This topic may use significantly more memory after reboot. Our testing finds
that the new KDE version may use up to 16GiB of RAM.
"""
caution.zh_CN = """
本次更新重启后可能会需要更多内存。据我社维护者测试,新版 KDE 可能需要接近 16GiB 内存。"""
[packages]
konsole = "23.04.1-1"
dolphin = "23.04.1"
# Package removed as part of the topic.
pykde = false
```

Below is a "cumulative" topic update manifest file:

```toml
name.default = "Winter 2023 Cumulative Update for amd64 AOSC OS systems"
name.zh_MS = "适用于 amd64 AOSC OS 版本的 23 冬季累计更新"

# Must not exist alongside [packages].
topics = [
"kde-survey-20231201",
"core-12.1.0"
]
```

Files
===

Topic update manifest files will be stored in a special `topics/` folder in the
ABBS tree:

```
TREE/topics/kde-survey-20231201.toml
TREE/topics/llvm-16.0.6.toml
TREE/topics/*.toml
```

The repository server will pull the manifests from the ABBS tree, processing
the them into a single JSON:

```
*.toml => (server pulls the manifests) => /mirror/debs/manifest/updates.json
```

A sample post-processed JSON file should look like this:

```json
{
"kde-survey-20231201": {
"type": "conventional",
"name": [
{ "default": "KDE Updates (Winter 2023)" },
{ "zh_CN": "KDE 更新(2023 年冬季)" }
],
"security": true,
"caution": [
{ "default": "This topic may use significantly more memory after reboot. Our testing finds\nthat the new KDE version may use up to 16GiB of RAM." },
{ "zh_CN": "本次更新重启后可能会需要更多内存。据我社维护者测试,新版 KDE 可能需要接近 16GiB 内存。" }
],
"packages": [
{ "name": "konsole", "version": "23.04.1-1" },
{ "name": "dolphin", "version": "23.04.1" },
{ "name": "pykde", "version": null }
]
},
"cumulative-2023H3": {
"type": "cumulative",
"name": [
{ "default": "Winter 2023 Cumulative Update for amd64 AOSC OS systems" },
{ "zh_MS": "适用于 amd64 AOSC OS 版本的 23 冬季累计更新" }
],
"topics": [
"kde-survey-20231201",
"core-12.1.0"
]
}
}
```
99 changes: 99 additions & 0 deletions content/developer/packaging/topic-update-manifest.zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
+++
title = "更新主题元数据"
description = "安同 OS 更新元数据规范"
+++

概述
===

本规范旨在为用户提供一个友好、可读性高的系统更新概要。元数据文件使用 TOML 格式存放于 [ABBS 树](https://github.com/AOSC-Dev/aosc-os-abbs)中,而后转换为 JSON 格式于服务端存放。

示例
===

更新主题元数据文件范例如下:

```
name.default = "KDE Updates (Winter 2023)"
name.zh_CN = "KDE 更新(2023 年冬季)"
# Security update (true/false)?
security = true
# OPTIONAL: PSA message for users.
caution.default = """
This topic may use significantly more memory after reboot. Our testing finds
that the new KDE version may use up to 16GiB of RAM.
"""
caution.zh_CN = """
本次更新重启后可能会需要更多内存。据我社维护者测试,新版 KDE 可能需要接近 16GiB 内存。"""
[packages]
konsole = "23.04.1-1"
dolphin = "23.04.1"
# Package removed as part of the topic.
pykde = false
```

亦可按需编写“累积更新”元数据,如下:

```toml
name.default = "Winter 2023 Cumulative Update for amd64 AOSC OS systems"
name.zh_MS = "适用于 amd64 AOSC OS 版本的 23 冬季累计更新"

# Must not exist alongside [packages].
topics = [
"kde-survey-20231201",
"core-12.1.0"
]
```

文件存放
===

元数据文件存放在 ABBS 树中的 `topics/` 路径下:

```
TREE/topics/kde-survey-20231201.toml
TREE/topics/llvm-16.0.6.toml
TREE/topics/*.toml
```

软件源服务器定期拉取元数据,并将其处理为单个 JSON 文件:

```
*.toml =>(服务端拉取)=> /mirror/debs/manifest/updates.json
```

经处理的 JSON 文件样例如下:

```json
{
"kde-survey-20231201": {
"type": "conventional",
"name": [
{ "default": "KDE Updates (Winter 2023)" },
{ "zh_CN": "KDE 更新(2023 年冬季)" }
],
"security": true,
"caution": [
{ "default": "This topic may use significantly more memory after reboot. Our testing finds\nthat the new KDE version may use up to 16GiB of RAM." },
{ "zh_CN": "本次更新重启后可能会需要更多内存。据我社维护者测试,新版 KDE 可能需要接近 16GiB 内存。" }
],
"packages": [
{ "name": "konsole", "version": "23.04.1-1" },
{ "name": "dolphin", "version": "23.04.1" },
{ "name": "pykde", "version": null }
]
},
"cumulative-2023H3": {
"type": "cumulative",
"name": [
{ "default": "Winter 2023 Cumulative Update for amd64 AOSC OS systems" },
{ "zh_MS": "适用于 amd64 AOSC OS 版本的 23 冬季累计更新" }
],
"topics": [
"kde-survey-20231201",
"core-12.1.0"
]
}
}
```

0 comments on commit aa37ea8

Please sign in to comment.