Skip to content

用 nvchecker 检查新版本

Isaac Ge edited this page Jul 24, 2015 · 1 revision

前言

nvchecker 是由百合仙子 (lilydjwg, 依云) 开发的一个易用的检查软件是否有新版本释出的工具。我(Stephen Zhang/zsrkmyn)推荐各位维护者使用该工具,以便检查软件的新版本,及时更新社区源软件。

关于 nvchecker

  1. 项目主页:https://github.com/lilydjwg/nvchecker

  2. 文档:详细的文档在项目主页的 README.rst 中。

  3. 安装:社区的编译机已经安装了 nvchecker-git。 此软件包也已经在社区源中。你也可以通过 AUR 自行安装。推荐同时安装 python-pycurl 以加速 HTTP 访问。

简要的使用说明

配置文件 (Version Source Files)

社区源的配置文件位于源的根目录下,即 nvchecker.ini。Lilac 运行时,会使用该配置文件来判断一个软件包是否需要更新。所有配置了 lilac.py 脚本的软件包都必须有相应的 nvchecker 配置。然而,nvchecker.ini 同时可以手动使用。

在配置文件中添加/移除软件包

每次有向社区源中添加新的包时,应当向配置文件中添加记录。添加的位置在自己的名字注释下,以便归类。若没有自己的名字,请自行添加,注意添加格式为 # Your Name <e-mailaddr@domain> {{{1请务必在最后加上 {{{1,以便 vim 按名字对配置文件折叠。

详细的说明在文档的Version Source Files 一节

通常来说,AUR 中的软件包使用默认的配置(留空)即可,GitHub 软件包则添加 github 配置(可能需要配置 branch)即可。

注意:建议参照已有的配置项目格式来添加新的配置项目。

注意:现在 社区仓库中的 nvchecker.ini 严重缺少社区仓库维护的软件包配置条目,希望各位能帮助补全。

从社区仓库中移除软件包时,如果该配置很简单(指向 AUR 或者 GitHub、PyPI 等),或者配置不再有效(如软件迁移、网站页面调整等),应当删除该项。如果配置比较复杂(如 URL + 正则),应当注释掉配置文件中的相应配置条目(以备日后不时之需)。

自行使用

以下说明适用于自行使用 nvchecker 的场景。可以先检查并设置 nvchecker.ini 中的 __config__ 节的文件路径。

生成 old_ver.txt

切换到社区源仓库根目录下,简单地使用 pacman -Sl archlinuxcn | awk '{print $2, $3}' > old_ver.txt 即可生成 old_ver.txt。但请注意,这样生成的版本号可能并不准确(与检测所得有差异)。

使用 nvchecker 命令

切换到社区源仓库根目录下,简单地使用 nvchecker nvchecker.ini 即可检查配置文件中列出的要监视的软件,该命令同时生成 new_ver.txt

使用 nvcmp 命令检查软件更新

在生成了 old_ver.txtnew_ver.txt 文件后,简单地使用 nvcmp nvchecker.ini 即可查看所有需要更新的软件。

使用 nvtake 命令

在对软件包进行更新后,简单地使用 nvtake nvchecker.ini <software name> 可以用 new_ver.txt 的版本号更新 old_ver.txt 。在社区源的仓库中,由于我(Stephen Zhang/zsrkmyn)已经将 new_ver.txt 和 old_ver.txt 放入了 .gitignore 文件,所以其他维护者更新社区源仓库后,old_ver.txt 并不会被更新。所以建议按照上面的方法重新生成 old_ver.txt

其他

强烈建议阅读原项目文档以获得更好的帮助。

欢迎任何维护者修改完善本 wiki 页面,其他未尽事宜使用 maillist 讨论

TODO

  • 从主配置文件中为指定维护者生成TA所维护的软件包的配置子集