Debian 有一个名为监视文件的文件,用于跟踪新版本。
我尝试创建一个监视文件来查看它在 Debian 上的工作原理维基百科并试图将相同的内容复制到一个名为“未知地平线”的游戏项目中。游戏就在那里德班但可以看出,没有监视/文件,因此维护者不知道新版本何时出现。
新版本发布时间为https://github.com/unknown-horizons/unknown-horizons/releases
我尝试通过执行以下操作来即兴发挥 -
$ cd tmp
/tmp $ mkdir unknown-horizons
/tmp/unknown-horizons $ mkdir debian
然后前往——
$ cd /usr/share/doc/unknown-horizons
/usr/share/doc/unknown-horizons $ cp changelog.Debian.gz /tmp/unknown-horizons/debian
/tmp/unknown-horizons/debian $ gunzip changelog.Debian.gz
然后最后尝试制作监视文件
/tmp/unknown-horizons/debian $ [$] cat watch
1 version=3
2 opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/<unknown-horizons>-$1\.tar\.gz/ \
3 https://github.com/unknown-horizons/unknown-horizons/releases .*/v?(\d\S+)\.tar\.gz
现在,当我刚刚从 wiki 页面复制并粘贴时,我很可能不止一次地在监视文件中搞砸了。我真的不知道或理解 perl 正则表达式
新版本发布时间为https://github.com/unknown-horizons/unknown-horizons/archive/2017.1.tar.gz
我确实尝试测试监视文件是否有效,或者即使它出错了,但这是它给出的输出 -
/tmp/unknown-horizons $ uscan --verbose --report
uscan info: uscan (version 2.17.0) See uscan(1) for help
uscan info: Scan watch files in .
uscan info: Check debian/watch and debian/changelog in .
uscan warn: Problems reading debian/changelog in ., skipping
uscan warn: No watch file found
uscan info: Scan finished
现在我可以理解如果它说监视文件有一些问题,但说没有找到监视文件,不知道发生了什么。
有人知道问题可能是什么吗?
答案1
鉴于您之前的问题,我不确定您为什么要以这种方式处理事情。要开始进行更改,而不使用太多磁盘空间,我建议
apt-get source --diff-only unknown-horizons
tar xf unknown-horizons_2014.1+git160920-1.debian.tar.xz
这将为您提供完整的debian
目录,以及适当命名的changelog
.然后你还会注意到那里是一个watch
文件,包含:
version=3
opts="filenamemangle=s/(?:.*)?v?(\d[\d\.]*)\.tar\.gz/unknown-horizons-$1.tar.gz/" \
https://github.com/unknown-horizons/unknown-horizons/releases (?:.*/)?v?(\d[\d\.]*)\.tar\.gz
如您所见,按照 wiki 的说明进行操作时,您需要将所有 替换<project>
为项目名称,包括<
和>
。
你甚至可以说有一个watch
文件来自追踪器;它在屏幕的最顶部说
新的上游版本可用:2017.1
这意味着该包包含一个watch
文件(这就是跟踪器知道有新的上游版本的方式)。
答案2
在源包中,变更日志文件应命名为debian/changelog
.只需重命名即可。