主目录中的checkinstall源代码

时间:2017-11-01 09:57:16

标签: cmake checkinstall

我正在尝试从openCV(不相关)源代码创建deb文件。来源的位置是~/software/opencv/

以下是我成功执行的命令。

cd ~/software/opencv/
mkdir build
cd build
cmake ..
make

然后我使用sudo make install创建sudo checkinstall而不是deb。但是在这个过程的中间,出现了这个提示。

Some of the files created by the installation are inside the home directory: /home

You probably don't want them to be included in the package.
Do you want me to list them?  [n]:

当我列出文件时,它只是

/home
/home/user
/home/user/software
/home/user/software/opencv
/home/user/software/opencv/opencv-3.3.1
/home/user/software/opencv/opencv-3.3.1/build
/home/user/software/opencv/opencv-3.3.1/build/CMakeFiles
/home/user/software/opencv/opencv-3.3.1/build/install_manifest.txt

我需要知道的是这个。

  • 此提示的原因是什么?
  • 我应该包含哪些目录&使用checkinstall时排除?
  • 如何在不面对此提示的情况下运行checkinstall

1 个答案:

答案 0 :(得分:2)

为什么

不同软件的构建脚本的质量可能会有所不同。 OpenCV碰巧有一些不完整之处,例如在安装文件中包含install_manifest.txt。某些软件根本不能由checkinstall打包。

制作deb软件包的规范方法是使用“Debian维护者指南”,用于打包Debian OS中的所有软件包。但它太复杂了,所以它主要是由真正有动力的人使用。

什么目录

取决于软件。通常需要binlib中的内容。

如何避免

使用checkinstall --default

其他事项

sudo make install不是必需的。

可以通过使用sudo来避免fakeroot(因此您不会触及根音)。此外,在生成包时避免安装(通过使用--install=no --fstrans=yes)是一件好事。所以尽可能使用它:

fakeroot checkinstall --install=no --fstrans=yes