AOSC Wiki / 开发者 / 打包 / .
其他语言: English

AOSC Find Update 语法

CHKUPDATE 及自动化更新检查指南

AOSC Find Update 所有的设置都应该写在 spec 文件中。

此语法和 SRCS 格式很类似:

CHKUPDATE="<类型>::<key1>=<value1>;<key2>=<value2>"

上述格式中的 <类型> 指的是更新检查器的类型,后面的键值对是更新检查器的配置。

下文将介绍本程序支持的所有更新检查器,并以靠谱程度排序(越不靠谱的越靠后)。

更新检查器

Release Monitoring Project (Anitya)

环境变量:

N/A

配置项:

必填?描述
id必填Anitya 数据库中的项目 ID 点击这里查询项目 ID

注释:

举例:

# LMMS
CHKUPDATE="anitya::id=1832"

GitHub API

环境变量: | 名称 | 必填? | 描述 | |------|-----------|-------------| |GITHUB_TOKEN|必填|你的 GitHub 访问令牌。设置此环境变量才能访问 GitHub API。 点击此处访问令牌管理页面。|

配置项:

必填?描述
repo必填项目名称 (比如 AOSC-Dev/ciel-rs).
pattern可选用于匹配版本号字符串的正则表达式。你可以使用此配置项来过滤掉不符合条件的版本号(比如每日版本)。#1 号捕获组 可以 用于捕获版本号字符串。
sort_version可选对版本号进行排序,而不是使用 GitHub 提供的顺序(GitHub 使用的是字母表顺序)。

举例:

CHKUPDATE="github::repo=AOSC-Dev/ciel-rs"
CHKUPDATE="github::repo=AOSC-Dev/ciel-rs;pattern=\d+\.\d+\.\d+;sort_version=true"

GitLab API

环境变量:

N/A

配置项:

必填?描述
repo必填项目名称 (比如 GNOME/fractal) 或项目 ID (比如 132).
instance可选GitLab 实例地址。如果某个项目托管在自建 GitLab 实例上的话,你需要使用这个配置项设置实例的地址。默认值:https://gitlab.com
pattern可选用于匹配版本号字符串的正则表达式。你可以使用此配置项来过滤掉不符合条件的版本号(比如每日版本)。#1 号捕获组 可以 用于捕获版本号字符串。
sort_version可选对版本号进行排序,而不是使用 GitLab 提供的顺序(GitLab 使用的是 tag 的日期顺序)。

举例:

CHKUPDATE="gitlab::repo=fcitx/fcitx5;pattern=\d+\.\d+\.\d+;sort_version=true"
# Fractal 托管在 GNOME 自己的 GitLab 服务器上面
CHKUPDATE="gitlab::repo=GNOME/fractal;instance=https://gitlab.gnome.org"

GitWeb Tags

环境变量:

N/A

配置项:

必填?描述
url必填GitWeb 仓库的网页版 URL
pattern可选用于匹配版本号字符串的正则表达式。你可以使用此配置项来过滤掉不符合条件的版本号(比如每日版本)。#1 号捕获组 可以 用于捕获版本号字符串。

备注:

举例:

CHKUPDATE="gitlab::url=https://repo.or.cz/0ad.git;pattern=^[^b]+$"

通用 Git Tags

环境变量:

N/A

配置项:

必填?描述
url必填Git 的克隆地址 (仅支持 http/https,不支持 git:// 协议)
pattern可选用于匹配版本号字符串的正则表达式。你可以使用此配置项来过滤掉不符合条件的版本号(比如每日版本)。#1 号捕获组 可以 用于捕获版本号字符串。

备注:

举例:

CHKUPDATE="git::url=https://git.tuxfamily.org/bluebird/cms.git"

通用网页字符串提取

环境变量:

N/A

配置项:

必填?描述
url必填需要进行匹配的网站地址
pattern必填用于匹配版本号字符串的正则表达式。#1 号捕获组必须用于捕获版本号字符串。

备注:

举例:

CHKUPDATE="html::url=https://repo.aosc.io/misc/l10n/;pattern=zh_CN_l10n_(.+?)\\.pdf"