2015-06-12 65 views
2

我正在尝试使用fpm创建一个deb包,其中包含一些shell脚本文件。但deb包应该创建一个名为vim(Linux中的vim编辑器)的依赖项。意思是在安装deb包的时候,应该先安装vim然后脚本文件。使用fpm构建依赖关系的deb包创建

要求是在安装deb包时,vim应该先安装,然后再安装脚本文件。

fpm命令我曾尝试是:

fpm -s dir -t deb -n 'test' --deb-pre-depends vim --after-install /home/test/testfile.sh -C /home test 

和DEB包后创建的。安装时,我收到以下错误:

dpkg: regarding test_1.0_amd64.deb containing test, pre-dependency problem: 
test pre-depends on vim 
    vim is not installed. 

dpkg: error processing archive test_1.0_amd64.deb (--install): 
pre-dependency problem - not installing test 
Errors were encountered while processing: 
test_1.0_amd64.deb 

在此先感谢...

回答

2

由于@Vorsprung为alredy提编辑您需要使用--depends

fpm -s dir \ 
    -t deb \ 
    -n 'test' \ 
    --depends vim \ 
    --after-install /home/test/testfile.sh \ 
    -C /home test 

你需要知道dpkg不会为你安装的依赖关系,但你可以运行apt-get事后安装所有缺少的依赖关系:

dpkg -i test.deb 
apt-get install -f