Debian软件包,依赖的安装

coo*_*oow 2 debian dependencies package

我正在构建一个 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
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用安装包

dpkg -i package-name.deb
Run Code Online (Sandbox Code Playgroud)

hek*_*mgl 5

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

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

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