Debian包,安装依赖项

时间:2014-05-07 12:42:45

标签: dependencies package debian

我正在构建一个Debian软件包,需要其他软件包,例如libboost-all-dev或libqt4-dev。我尝试使用Pre-Depends并将apt-get install PKGS放在preinst中,但它不起作用。

如何自动启动依赖项的安装?

编辑:我的控制文件:

Package: myPackage
Version: 1.0
Section: base
Priority: optional
Depends: libboost-all-dev,libqt4-dev,libvtk6-dev,libcppunit-dev,libhdf5-dev,libann-dev,wx-common,libwxbase2.8-dev
Architecture: all
Maintainer: Corentin D <***@***.***>
Description: ...
Homepage: none

我正在尝试使用

安装软件包
dpkg -i package-name.deb

1 个答案:

答案 0 :(得分:3)

不要使用preinst脚本!除了它不起作用的事实,因为一次只能运行一个dpkg实例,因此安装依赖项是apt的工作。使用control文件列出您的二进制依赖项,如Debian策略中所述:http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

进一步请注意,如果使用dpkg -i package-name.deb安装本地程序包,dpkg将不会(!)安装控制文件中列出的依赖项。您仍然需要手动安装它们。如果您希望正确安装依赖项,则需要:

  • 设置Debian软件包存储库(或在Ubuntu上使用ppa)
  • .deb放在那里
  • 将存储库添加到sources.list
  • apt-get updateaptitude update
  • apt-get install package-nameaptitude install package-name