我正在使用 with reprepro 管理存储库。有时我需要将源码包上传到repo。对于多个软件包,reprepro 要求提供附加信息:
$ reprepro -b /srv/reprepro/ubuntu/ includedsc utopic /tmp/packages/buildenv_cocaine_04.03.2015-11.50/blackhole_0.2.3-1.dsc
No section and no priority for 'blackhole', skipping.
但是,那二进制包裹包含我需要的一切:
# dpkg -I /tmp/packages/buildenv_cocaine_04.03.2015-11.50/blackhole-dev_0.2.3-1_amd64.deb | grep -i "section\|priority"
Section: libdevel
Priority: extra
我猜这是 reprepro 中的一个错误,所以我想实现一种可以自动检查缺失部分的解决方法。我可以使用哪个实用程序来检查来源包裹?
答案1
.changes
上传包时,会从文件的节中读取部分和优先级Files:
(请参阅https://www.debian.org/doc/debian-policy/ch-controlfields.html#sf-Files)。
.dsc
要从 a (以及关联的文件)中检索部分和优先级,您可以使用dscextract
带有devscripts
一点脚本的包。
dscextract <yourdsc> debian/control
将提取debian/control
(如果不能则失败);然后您可以从控制文件的源部分读取该部分和优先级(停在第一个空行)。