我有一个deb文件,其控制文件不包含任何构建依赖行,但该程序包仍具有构建依赖性。那他们来自哪里?我无法弄清楚。
这是deb文件:http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/xUbuntu_14.10/i386/owncloud-client_2.0.0-1_i386.deb 您可以看到控制文件只有Depends,没有build-depends。
但是 apt-rdepends --build-depends --follow = DEPENDS owncloud-client 显示构建依赖项: owncloud客户端 Build-Depends:cmake Build-Depends:debhelper(> = 9) Build-Depends:kdelibs5-dev Build-Depends:libneon27-gnutls-dev Build-Depends:libocsync-dev(> = 0.91.4) Build-Depends:libqt4-dev 等等。
另外 sudo apt-get build-dep owncloud-client 安装这些依赖项。
答案 0 :(得分:1)
二进制包没有构建依赖关系(不再是),因为它已经构建完毕。源包肯定有它们;当您下载源包时,您会发现中的实际debian/control
文件包含Build-Depends节。
典型的控制文件具有源包声明,后跟一个或多个二进制包声明。像这样:
Source: foo
Build-depends: libbar-dev, baz
Package: foo-server
Depends: libbar
Package: foo-client
Depends: python
因此,要构建foo-server和foo-client,需要foo源包和其构建依赖项;但是生成的二进制包只是可交付成果,并且没有各自的构建依赖项。
将http://ftp5.gwdg.de/pub/opensuse/repositories/isv:/ownCloud:/desktop/xUbuntu_14.10/Sources中的条目与http://ftp5.gwdg.de/pub/opensuse/repositories/isv:/ownCloud:/desktop/xUbuntu_14.10/Packages中的条目进行比较(这是我从.deb包链接重定向到的服务器)。