我正在构建一个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
答案 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
将不会(!)安装控制文件中列出的依赖项。您仍然需要手动安装它们。如果您希望正确安装依赖项,则需要:
.deb
放在那里sources.list
apt-get update
或aptitude update
apt-get install package-name
或aptitude install package-name