什么是Debian软件包中的源码/二进制覆盖?

当我执行dput -f myhost foobar_x.x.x.changes时,它成功上传了软件包,但产生了以下警告:
foobar has no source override entry
foobar has no binary override entry either

如何指定源/二进制覆盖,并/或者只是抑制警告?
我正在使用mini-dinstall作为后端的aptitude软件包仓库管理器。
3个回答

免责声明:我已经忘记了如何正确处理dput,并且对mini-dinstall一无所知。
overrides文件可能包含Debian软件包的section和priority字段的覆盖。一个软件包有这两个嵌入字段,但是存储库可能决定给出不同的值。例如,当我上传到Debian时,是否需要一个软件包并不仅仅取决于我的决定。
通常情况下,这个警告是无害的,可以忽略。overrides文件是dpkg-scanpackages的一个选项(我想mini-dinstall也在幕后使用它)。该文件包含以下形式的行:
package-name priority section

1因为我管理了太多的软件包,并且每次执行'dput'时都会有太多的覆盖警告。那么我该如何指定这些覆盖内容以过滤掉这些警告呢? - Lenik

似乎覆盖警告信息来自于apt-ftparchive命令。这个命令是由mini-dinstall调用来创建Package和Source文件。
我成功地让apt-ftparchive读取源覆盖文件,通过设置apt.conf设置。不幸的是,这对于该机器上所有使用apt-ftparchive的用户都是全局的,但我只在mini-dinstall中使用它,所以对我有效。
  1. 创建一个带有适当条目的源覆盖文件。在这个例子中,我使用了/etc/apt/dinstall-src-override,但它可以是任何mini-dinstall可读取的位置。

    opencv  optional        graphics
    digikam optional        graphics        an.other@example.com
    

    该文件的内容符合标准的Debian指南。为了避免搜索,以下链接可能会有所帮助:Debian FTP主服务器的覆盖文件Debian政策允许的“Sections”;以及Debian政策允许的软件包“Priorities”

  2. 配置apt-ftparchive使用覆盖文件。创建一个/etc/apt/apt.conf.d/90mini-dinstall-override文件,并添加以下内容:

    APT::FTPArchive::SourceOverride "/etc/apt/dinstall-src-override";
    
通过这个设置,我不再收到覆盖条目的警告。当然,使用的覆盖应该是合理的,因为它们被用于存档!

我和你处于同一种情况,所以给你一个小点提示:文件格式在deb-override中有文档记录。我还没有找到 mini-dinstall(或 apt-ftparchive; dpkg-scansources 和 dpkg-scanpackages 这里没有涉及)从哪里自动加载这些。


当我运行apt-ftparchive sources > Sources时,我遇到了问题。正如Richm所提到的,它是由mini-dinstall调用的。 - Alexis Wilke